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
- DefaultProxySection.cs
- GcSettings.cs
- SessionStateContainer.cs
- HttpCacheVary.cs
- Random.cs
- EffectiveValueEntry.cs
- XmlElementAttribute.cs
- DiagnosticSection.cs
- FixedPageProcessor.cs
- DetectRunnableInstancesTask.cs
- BitmapEffectDrawingContextWalker.cs
- Matrix3DConverter.cs
- HierarchicalDataBoundControlAdapter.cs
- MD5.cs
- ApplicationDirectory.cs
- GlobalAllocSafeHandle.cs
- BrowserCapabilitiesFactory.cs
- panel.cs
- Button.cs
- SelectionEditor.cs
- FixedStringLookup.cs
- ResolveMatches11.cs
- DataSourceUtil.cs
- OperationCanceledException.cs
- MessageSmuggler.cs
- TypeGeneratedEventArgs.cs
- MobileUserControl.cs
- WriteLineDesigner.xaml.cs
- MimeTypeAttribute.cs
- DateTimeFormat.cs
- DetailsViewDeleteEventArgs.cs
- SystemDropShadowChrome.cs
- BamlRecordReader.cs
- FontFamily.cs
- TagPrefixAttribute.cs
- WmlListAdapter.cs
- LocalBuilder.cs
- WindowsAltTab.cs
- CircleHotSpot.cs
- IItemContainerGenerator.cs
- AssemblyNameEqualityComparer.cs
- LiteralControl.cs
- Transform.cs
- PanelStyle.cs
- EntityModelSchemaGenerator.cs
- HandlerFactoryWrapper.cs
- HttpModuleActionCollection.cs
- AddInController.cs
- ResourceAttributes.cs
- MsmqInputSessionChannelListener.cs
- AccessedThroughPropertyAttribute.cs
- ControlUtil.cs
- LinqExpressionNormalizer.cs
- ToolboxItemLoader.cs
- StoryFragments.cs
- SerializationStore.cs
- DataServiceOperationContext.cs
- CharAnimationBase.cs
- DBCommandBuilder.cs
- ImageClickEventArgs.cs
- BitmapDecoder.cs
- SqlBooleanizer.cs
- Line.cs
- RunClient.cs
- SystemUnicastIPAddressInformation.cs
- TraceLog.cs
- MultiAsyncResult.cs
- _SingleItemRequestCache.cs
- WsdlBuildProvider.cs
- OdbcConnectionString.cs
- ShaderEffect.cs
- OciHandle.cs
- ArgumentException.cs
- APCustomTypeDescriptor.cs
- ObjectQuery.cs
- QualifierSet.cs
- SplineQuaternionKeyFrame.cs
- ChildChangedEventArgs.cs
- OneOfScalarConst.cs
- ConfigurationSectionGroupCollection.cs
- Int16Storage.cs
- LogFlushAsyncResult.cs
- Matrix.cs
- Wildcard.cs
- PageContentCollection.cs
- ExpandSegmentCollection.cs
- ImageCollectionCodeDomSerializer.cs
- XPathBinder.cs
- RotateTransform.cs
- LogReserveAndAppendState.cs
- DataGridRowHeaderAutomationPeer.cs
- ImageMapEventArgs.cs
- SystemIPInterfaceProperties.cs
- Expr.cs
- SQLRoleProvider.cs
- TargetException.cs
- XmlSchemaSubstitutionGroup.cs
- Trace.cs
- SimpleMailWebEventProvider.cs
- SettingsPropertyValueCollection.cs