Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Documents / DocumentReferenceCollection.cs / 1 / 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
- ProvidersHelper.cs
- CultureSpecificStringDictionary.cs
- BitFlagsGenerator.cs
- StatusBarPanelClickEvent.cs
- GridView.cs
- WindowCollection.cs
- CheckPair.cs
- ActivityBuilderXamlWriter.cs
- XamlContextStack.cs
- FocusChangedEventArgs.cs
- ClientSponsor.cs
- DrawingGroup.cs
- ToolStripItemGlyph.cs
- Normalization.cs
- PersonalizationEntry.cs
- StatusBarDrawItemEvent.cs
- DependentList.cs
- PeerToPeerException.cs
- Scheduler.cs
- EditorZoneBase.cs
- BidOverLoads.cs
- KeyToListMap.cs
- ProtectedConfigurationSection.cs
- DataAdapter.cs
- TimelineGroup.cs
- MetadataPropertyCollection.cs
- WebPartAuthorizationEventArgs.cs
- WrappedIUnknown.cs
- DrawingAttributeSerializer.cs
- LocalizationParserHooks.cs
- XAMLParseException.cs
- VScrollProperties.cs
- BooleanToVisibilityConverter.cs
- RelatedPropertyManager.cs
- HelpProvider.cs
- ClientData.cs
- Configuration.cs
- EnumerableRowCollection.cs
- formatter.cs
- Metafile.cs
- RTLAwareMessageBox.cs
- ScalarConstant.cs
- NodeCounter.cs
- CompilerParameters.cs
- CqlLexer.cs
- SchemaElement.cs
- propertyentry.cs
- Stack.cs
- Stack.cs
- EntityDataSourceView.cs
- EncryptedPackage.cs
- CroppedBitmap.cs
- BufferedOutputStream.cs
- PerfCounters.cs
- Column.cs
- DocumentPageTextView.cs
- basenumberconverter.cs
- MetadataUtil.cs
- StrokeNodeOperations.cs
- BitmapFrameDecode.cs
- LocalizabilityAttribute.cs
- FixedSOMPageElement.cs
- XmlMtomReader.cs
- FixedSOMFixedBlock.cs
- ContentPlaceHolder.cs
- SQLConvert.cs
- TextServicesLoader.cs
- NullRuntimeConfig.cs
- NamespaceCollection.cs
- RMEnrollmentPage1.cs
- Int32Rect.cs
- ProviderUtil.cs
- TrimSurroundingWhitespaceAttribute.cs
- Error.cs
- Content.cs
- ObjectStorage.cs
- DataView.cs
- BamlTreeNode.cs
- XmlSerializer.cs
- DataComponentNameHandler.cs
- ServerIdentity.cs
- CodeArrayCreateExpression.cs
- Environment.cs
- StylusShape.cs
- Aes.cs
- ServiceMetadataPublishingElement.cs
- Exception.cs
- AuthenticationModulesSection.cs
- LazyTextWriterCreator.cs
- SelectingProviderEventArgs.cs
- InkPresenter.cs
- PrimitiveXmlSerializers.cs
- GatewayDefinition.cs
- ReflectionTypeLoadException.cs
- HttpListener.cs
- SqlDataSourceCommandEventArgs.cs
- PackageRelationship.cs
- AuthenticationModuleElementCollection.cs
- FormsAuthentication.cs
- WebPart.cs