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
- MatrixCamera.cs
- ToolStripArrowRenderEventArgs.cs
- UrlMappingCollection.cs
- ConnectionPoolManager.cs
- ValidationHelpers.cs
- BaseResourcesBuildProvider.cs
- TabControl.cs
- EntityDesignerDataSourceView.cs
- PriorityQueue.cs
- DataRow.cs
- WindowsHyperlink.cs
- InkCanvasSelection.cs
- ChangeBlockUndoRecord.cs
- DeploymentSection.cs
- MenuItem.cs
- ErrorFormatter.cs
- StyleSelector.cs
- NullableLongSumAggregationOperator.cs
- WrapPanel.cs
- WSTrust.cs
- PointConverter.cs
- _OSSOCK.cs
- ProtectedConfigurationSection.cs
- WebPartZoneCollection.cs
- ButtonPopupAdapter.cs
- BamlWriter.cs
- ZipIOBlockManager.cs
- TaskHelper.cs
- OutputCacheProviderCollection.cs
- D3DImage.cs
- SchemaNames.cs
- GenericPrincipal.cs
- TextPointer.cs
- ResourceAttributes.cs
- ServiceEndpoint.cs
- TemplateControlParser.cs
- DataServiceException.cs
- ConnectionManagementSection.cs
- EditorServiceContext.cs
- PropertyNames.cs
- GraphicsContext.cs
- MessageBox.cs
- Formatter.cs
- DefaultMemberAttribute.cs
- ModelEditingScope.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- OverflowException.cs
- FontFamily.cs
- GridViewEditEventArgs.cs
- PerspectiveCamera.cs
- CAGDesigner.cs
- SafeArrayRankMismatchException.cs
- DefaultValueMapping.cs
- ThicknessAnimationUsingKeyFrames.cs
- XmlEventCache.cs
- UnmanagedMarshal.cs
- DelegateTypeInfo.cs
- CollectionChangedEventManager.cs
- SafeBitVector32.cs
- SystemFonts.cs
- ReachNamespaceInfo.cs
- PerspectiveCamera.cs
- JapaneseCalendar.cs
- _LazyAsyncResult.cs
- MemberProjectedSlot.cs
- Message.cs
- PageAdapter.cs
- ButtonPopupAdapter.cs
- SocketPermission.cs
- ServerValidateEventArgs.cs
- AnonymousIdentificationModule.cs
- TcpClientSocketManager.cs
- FormatConvertedBitmap.cs
- SerializationEventsCache.cs
- HttpProfileGroupBase.cs
- RenderDataDrawingContext.cs
- XPathException.cs
- CommentGlyph.cs
- DockingAttribute.cs
- CornerRadius.cs
- LayoutInformation.cs
- CompModSwitches.cs
- ReliabilityContractAttribute.cs
- DataSourceViewSchemaConverter.cs
- DataGridViewTopRowAccessibleObject.cs
- ValueConversionAttribute.cs
- RemotingService.cs
- CatalogZoneBase.cs
- SqlDataSourceCommandEventArgs.cs
- DataSourceDesigner.cs
- WebBrowserContainer.cs
- StackBuilderSink.cs
- ResXFileRef.cs
- ChtmlTextWriter.cs
- BinaryWriter.cs
- SimpleBitVector32.cs
- ClipboardProcessor.cs
- AbandonedMutexException.cs
- BuilderElements.cs
- GridViewColumnCollectionChangedEventArgs.cs