Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / DocumentReferenceCollection.cs / 1305600 / DocumentReferenceCollection.cs
//---------------------------------------------------------------------------- //// Copyright (C) 2004 by Microsoft Corporation. All rights reserved. // // // Description: // Implements the DocumentReferenceCollection as holder for a collection // of DocumentReference // // History: // 05/07/2004 - Zhenbin Xu (ZhenbinX) - Created. // // //--------------------------------------------------------------------------- namespace System.Windows.Documents { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; //===================================================================== ////// DocumentReferenceCollection is an ordered collection of DocumentReference /// [CLSCompliant(false)] public sealed class DocumentReferenceCollection : IEnumerable, INotifyCollectionChanged { //------------------------------------------------------------------- // // Connstructors // //---------------------------------------------------------------------- #region Constructors internal DocumentReferenceCollection() { } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //---------------------------------------------------------------------- #region Public Methods #region IEnumerable /// /// /// public IEnumeratorGetEnumerator() { return _InternalList.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((IEnumerable )this).GetEnumerator(); } #endregion IEnumerable /// /// /// public void Add(DocumentReference item) { int count = _InternalList.Count; _InternalList.Add(item); OnCollectionChanged(NotifyCollectionChangedAction.Add, item, count); } ////// Passes in document reference array to be copied /// public void CopyTo(DocumentReference[] array, int arrayIndex) { _InternalList.CopyTo(array, arrayIndex); } #endregion Public Methods #region Public Properties ////// Count of Document References in collection /// public int Count { get { return _InternalList.Count; } } ////// /// public DocumentReference this[int index] { get { return _InternalList[index]; } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //--------------------------------------------------------------------- #region Public Event ////// Occurs when the collection changes, either by adding or removing an item. /// ////// see public event NotifyCollectionChangedEventHandler CollectionChanged; #endregion Public Event //-------------------------------------------------------------------- // // private Properties // //--------------------------------------------------------------------- #region Private Properties // Aggregated IList private IList/// _InternalList { get { if (_internalList == null) { _internalList = new List (); } return _internalList; } } #endregion Private Properties #region Private Methods //------------------------------------------------------------------- // // Private Methods // //--------------------------------------------------------------------- // fire CollectionChanged event to any listeners private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index) { if (CollectionChanged != null) { NotifyCollectionChangedEventArgs args; args = new NotifyCollectionChangedEventArgs(action, item, index); CollectionChanged(this, args); } } #endregion Private Methods //-------------------------------------------------------------------- // // Private Fields // //--------------------------------------------------------------------- #region Private Fields private List _internalList; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) 2004 by Microsoft Corporation. All rights reserved. // // // Description: // Implements the DocumentReferenceCollection as holder for a collection // of DocumentReference // // History: // 05/07/2004 - Zhenbin Xu (ZhenbinX) - Created. // // //--------------------------------------------------------------------------- namespace System.Windows.Documents { using System; using System.Collections.Generic; using System.Collections.Specialized; using System.Diagnostics; //===================================================================== ////// DocumentReferenceCollection is an ordered collection of DocumentReference /// [CLSCompliant(false)] public sealed class DocumentReferenceCollection : IEnumerable, INotifyCollectionChanged { //------------------------------------------------------------------- // // Connstructors // //---------------------------------------------------------------------- #region Constructors internal DocumentReferenceCollection() { } #endregion Constructors //------------------------------------------------------------------- // // Public Methods // //---------------------------------------------------------------------- #region Public Methods #region IEnumerable /// /// /// public IEnumeratorGetEnumerator() { return _InternalList.GetEnumerator(); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return ((IEnumerable )this).GetEnumerator(); } #endregion IEnumerable /// /// /// public void Add(DocumentReference item) { int count = _InternalList.Count; _InternalList.Add(item); OnCollectionChanged(NotifyCollectionChangedAction.Add, item, count); } ////// Passes in document reference array to be copied /// public void CopyTo(DocumentReference[] array, int arrayIndex) { _InternalList.CopyTo(array, arrayIndex); } #endregion Public Methods #region Public Properties ////// Count of Document References in collection /// public int Count { get { return _InternalList.Count; } } ////// /// public DocumentReference this[int index] { get { return _InternalList[index]; } } #endregion Public Properties //-------------------------------------------------------------------- // // Public Events // //--------------------------------------------------------------------- #region Public Event ////// Occurs when the collection changes, either by adding or removing an item. /// ////// see public event NotifyCollectionChangedEventHandler CollectionChanged; #endregion Public Event //-------------------------------------------------------------------- // // private Properties // //--------------------------------------------------------------------- #region Private Properties // Aggregated IList private IList/// _InternalList { get { if (_internalList == null) { _internalList = new List (); } return _internalList; } } #endregion Private Properties #region Private Methods //------------------------------------------------------------------- // // Private Methods // //--------------------------------------------------------------------- // fire CollectionChanged event to any listeners private void OnCollectionChanged(NotifyCollectionChangedAction action, object item, int index) { if (CollectionChanged != null) { NotifyCollectionChangedEventArgs args; args = new NotifyCollectionChangedEventArgs(action, item, index); CollectionChanged(this, args); } } #endregion Private Methods //-------------------------------------------------------------------- // // Private Fields // //--------------------------------------------------------------------- #region Private Fields private List _internalList; #endregion Private Fields } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- COM2FontConverter.cs
- NavigatingCancelEventArgs.cs
- SynchronizationContextHelper.cs
- safelinkcollection.cs
- XamlBrushSerializer.cs
- TransportSecurityHelpers.cs
- SrgsGrammarCompiler.cs
- RawStylusInput.cs
- TemplatePartAttribute.cs
- OperationInfo.cs
- OracleRowUpdatingEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- ServiceOperation.cs
- TimelineClockCollection.cs
- HeaderedContentControl.cs
- WindowsTokenRoleProvider.cs
- RoutedEvent.cs
- RectangleGeometry.cs
- HttpCapabilitiesBase.cs
- EventListenerClientSide.cs
- MultilineStringConverter.cs
- Compiler.cs
- ColorTranslator.cs
- ScrollableControlDesigner.cs
- TypographyProperties.cs
- TemplateEditingService.cs
- DataGridTableCollection.cs
- PingOptions.cs
- NameScopePropertyAttribute.cs
- Rules.cs
- SqlBuffer.cs
- InputQueueChannel.cs
- DrawListViewSubItemEventArgs.cs
- CallSiteOps.cs
- DataGridViewCellConverter.cs
- AmbientValueAttribute.cs
- RegexWriter.cs
- RayHitTestParameters.cs
- ResponseStream.cs
- OleDbException.cs
- QuaternionRotation3D.cs
- DataGridViewCheckBoxColumn.cs
- Queue.cs
- Aggregates.cs
- HtmlInputHidden.cs
- Int16KeyFrameCollection.cs
- DeploymentSectionCache.cs
- UserControlParser.cs
- ContainerSelectorGlyph.cs
- SafeFileHandle.cs
- XmlSchemaSubstitutionGroup.cs
- TextEditorCharacters.cs
- XmlnsCache.cs
- webbrowsersite.cs
- RegionData.cs
- BufferAllocator.cs
- SiblingIterators.cs
- PbrsForward.cs
- OleDbEnumerator.cs
- UniqueIdentifierService.cs
- PropertyGridDesigner.cs
- CloudCollection.cs
- autovalidator.cs
- DocumentOrderComparer.cs
- TPLETWProvider.cs
- CodeNamespaceImportCollection.cs
- InnerItemCollectionView.cs
- AgileSafeNativeMemoryHandle.cs
- PageRequestManager.cs
- WorkflowOwnershipException.cs
- TextShapeableCharacters.cs
- SocketManager.cs
- ListBox.cs
- ConfigUtil.cs
- ExpressionVisitorHelpers.cs
- PropertyGrid.cs
- TransformerConfigurationWizardBase.cs
- XPathBuilder.cs
- SqlConnectionFactory.cs
- MtomMessageEncoder.cs
- CompilationUnit.cs
- MemoryMappedFile.cs
- DataBindingExpressionBuilder.cs
- GradientSpreadMethodValidation.cs
- FillRuleValidation.cs
- LineUtil.cs
- RegisteredDisposeScript.cs
- Marshal.cs
- DataContractSerializerSection.cs
- PageThemeBuildProvider.cs
- QueryStatement.cs
- CroppedBitmap.cs
- WeakReference.cs
- PenThreadWorker.cs
- Size.cs
- PointLightBase.cs
- WebBrowserEvent.cs
- PrintingPermissionAttribute.cs
- ArgumentOutOfRangeException.cs
- SchemaConstraints.cs