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
- HandleRef.cs
- SrgsElementFactoryCompiler.cs
- RijndaelManaged.cs
- CodeGeneratorOptions.cs
- ClassDataContract.cs
- DoubleStorage.cs
- Splitter.cs
- XPathArrayIterator.cs
- ExpanderAutomationPeer.cs
- QueueSurrogate.cs
- ValidationRuleCollection.cs
- _StreamFramer.cs
- Socket.cs
- MessagePartDescription.cs
- FaultContext.cs
- EditingMode.cs
- ListSourceHelper.cs
- CanonicalFontFamilyReference.cs
- SequenceNumber.cs
- InternalResources.cs
- KeyNotFoundException.cs
- OnOperation.cs
- Timeline.cs
- DesignerActionVerbItem.cs
- XmlDataLoader.cs
- CqlParser.cs
- VectorCollection.cs
- DeploymentSectionCache.cs
- Enum.cs
- DesignTimeTemplateParser.cs
- HttpWebRequest.cs
- BlockCollection.cs
- ApplicationException.cs
- LambdaCompiler.Generated.cs
- MenuStrip.cs
- Helper.cs
- ChannelFactoryRefCache.cs
- ResourceDisplayNameAttribute.cs
- DeferredSelectedIndexReference.cs
- ProtocolsConfigurationEntry.cs
- XmlArrayItemAttributes.cs
- Convert.cs
- TransformerTypeCollection.cs
- BaseDataListActionList.cs
- BrushConverter.cs
- ListParaClient.cs
- PnrpPermission.cs
- HttpRuntime.cs
- TableLayoutPanelCellPosition.cs
- Visitor.cs
- GeneralTransform.cs
- SoapConverter.cs
- ClassDataContract.cs
- MailMessageEventArgs.cs
- securitycriticaldataClass.cs
- Stylesheet.cs
- SamlAuthenticationClaimResource.cs
- IisTraceListener.cs
- DispatcherProcessingDisabled.cs
- XmlAnyElementAttributes.cs
- ColumnResizeUndoUnit.cs
- SmtpLoginAuthenticationModule.cs
- CredentialCache.cs
- XamlVector3DCollectionSerializer.cs
- DefaultExpressionVisitor.cs
- Number.cs
- TracePayload.cs
- SchemaTypeEmitter.cs
- RequestCachingSection.cs
- WebPartManagerInternals.cs
- OleCmdHelper.cs
- ProxySimple.cs
- FontNamesConverter.cs
- BuildTopDownAttribute.cs
- HttpConfigurationSystem.cs
- RtfControls.cs
- FontFamilyValueSerializer.cs
- ObjectDataSourceStatusEventArgs.cs
- SerialStream.cs
- QuaternionAnimation.cs
- AuthStoreRoleProvider.cs
- _HeaderInfo.cs
- StateWorkerRequest.cs
- SpStreamWrapper.cs
- SQLDecimal.cs
- CommonEndpointBehaviorElement.cs
- OneOfTypeConst.cs
- SafeArrayTypeMismatchException.cs
- CacheForPrimitiveTypes.cs
- HttpCookie.cs
- AnonymousIdentificationSection.cs
- String.cs
- UnsafeCollabNativeMethods.cs
- isolationinterop.cs
- DesignerDataTable.cs
- ModuleBuilder.cs
- BinaryUtilClasses.cs
- OleDbStruct.cs
- HashMembershipCondition.cs
- PropertyTab.cs