Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- AsyncOperationManager.cs
- DesignerActionItem.cs
- DynamicDocumentPaginator.cs
- TextParagraphProperties.cs
- ProcessHost.cs
- BaseCollection.cs
- Visual3D.cs
- TextServicesContext.cs
- ControlType.cs
- MultilineStringConverter.cs
- OutputCacheModule.cs
- SectionXmlInfo.cs
- LinqToSqlWrapper.cs
- InitiatorServiceModelSecurityTokenRequirement.cs
- CodeChecksumPragma.cs
- CodeRegionDirective.cs
- ActiveXContainer.cs
- SamlAudienceRestrictionCondition.cs
- SymbolEqualComparer.cs
- NameObjectCollectionBase.cs
- RayHitTestParameters.cs
- CatalogPartChrome.cs
- NotifyInputEventArgs.cs
- MailDefinitionBodyFileNameEditor.cs
- SoapSchemaMember.cs
- ByteRangeDownloader.cs
- IOException.cs
- DataObjectPastingEventArgs.cs
- SimpleType.cs
- BamlRecordHelper.cs
- WindowsComboBox.cs
- TypeElement.cs
- DataRowComparer.cs
- OperationInfoBase.cs
- CorrelationTokenInvalidatedHandler.cs
- UndoManager.cs
- PersistChildrenAttribute.cs
- ControlBuilder.cs
- safex509handles.cs
- EdmConstants.cs
- CTreeGenerator.cs
- DependencyObjectType.cs
- CultureSpecificCharacterBufferRange.cs
- Aggregates.cs
- Hashtable.cs
- AppDomainManager.cs
- SecurityPolicyVersion.cs
- ParameterElementCollection.cs
- EventOpcode.cs
- EntityClassGenerator.cs
- AxHost.cs
- Compiler.cs
- IndependentAnimationStorage.cs
- ReferenceList.cs
- DesignerActionGlyph.cs
- ReaderWriterLock.cs
- SemaphoreFullException.cs
- IntranetCredentialPolicy.cs
- SystemPens.cs
- SqlServer2KCompatibilityAnnotation.cs
- RawKeyboardInputReport.cs
- Track.cs
- Font.cs
- ItemCheckedEvent.cs
- Stopwatch.cs
- FilterQuery.cs
- PrintPreviewGraphics.cs
- InvalidOleVariantTypeException.cs
- FileDialogCustomPlacesCollection.cs
- CancelRequestedQuery.cs
- XslAst.cs
- MoveSizeWinEventHandler.cs
- DiscardableAttribute.cs
- DetailsViewRowCollection.cs
- TagPrefixAttribute.cs
- XPathDocument.cs
- SelectorAutomationPeer.cs
- LifetimeServices.cs
- ReadOnlyPropertyMetadata.cs
- TripleDES.cs
- TextOnlyOutput.cs
- SparseMemoryStream.cs
- SqlStatistics.cs
- NamespaceInfo.cs
- DesignTimeDataBinding.cs
- AttributeProviderAttribute.cs
- RawKeyboardInputReport.cs
- XmlAnyAttributeAttribute.cs
- BehaviorService.cs
- QilUnary.cs
- CustomAttributeFormatException.cs
- EditorPartCollection.cs
- XmlDesignerDataSourceView.cs
- DomNameTable.cs
- SqlStream.cs
- ValueTypeFixupInfo.cs
- InternalSafeNativeMethods.cs
- XmlDeclaration.cs
- BaseDataListActionList.cs
- SignatureSummaryDialog.cs