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
- DatasetMethodGenerator.cs
- MachineSettingsSection.cs
- DbConnectionPoolOptions.cs
- ActivityInfo.cs
- EventsTab.cs
- MeshGeometry3D.cs
- ImageListStreamer.cs
- Errors.cs
- DataListItemCollection.cs
- SlipBehavior.cs
- Int64.cs
- DateBoldEvent.cs
- XmlSortKeyAccumulator.cs
- InputLanguageManager.cs
- CommandLineParser.cs
- ReferencedCollectionType.cs
- input.cs
- SQLCharsStorage.cs
- DataGridViewIntLinkedList.cs
- ExtendedProperty.cs
- SemanticTag.cs
- KeyProperty.cs
- ZipIOCentralDirectoryBlock.cs
- followingsibling.cs
- ElementNotAvailableException.cs
- WindowsComboBox.cs
- TrustLevelCollection.cs
- DataListItemEventArgs.cs
- Boolean.cs
- SemanticResultValue.cs
- SmiEventSink_Default.cs
- Errors.cs
- InfoCardProofToken.cs
- SqlCacheDependencyDatabase.cs
- ObjectDataSourceMethodEventArgs.cs
- FormClosingEvent.cs
- XmlToDatasetMap.cs
- CultureInfo.cs
- MyContact.cs
- HttpGetServerProtocol.cs
- PersonalizationProvider.cs
- EdmFunctionAttribute.cs
- SourceChangedEventArgs.cs
- XmlQueryRuntime.cs
- Stack.cs
- BasicExpandProvider.cs
- BinaryParser.cs
- TreeViewDesigner.cs
- ClientScriptManager.cs
- LoginDesigner.cs
- MissingSatelliteAssemblyException.cs
- KeySpline.cs
- ChangePassword.cs
- EntityTemplateFactory.cs
- HtmlTableCellCollection.cs
- BaseTypeViewSchema.cs
- TdsParserSessionPool.cs
- HtmlMeta.cs
- PersonalizationAdministration.cs
- RtfControls.cs
- EraserBehavior.cs
- DCSafeHandle.cs
- MsmqIntegrationProcessProtocolHandler.cs
- PathGradientBrush.cs
- MediaPlayerState.cs
- control.ime.cs
- BooleanStorage.cs
- HyperLinkField.cs
- BCryptSafeHandles.cs
- PowerStatus.cs
- SelectionItemPatternIdentifiers.cs
- _BaseOverlappedAsyncResult.cs
- ButtonField.cs
- XmlElementList.cs
- MasterPageBuildProvider.cs
- Int16AnimationUsingKeyFrames.cs
- RegexInterpreter.cs
- AlphabeticalEnumConverter.cs
- HostProtectionPermission.cs
- PolyBezierSegmentFigureLogic.cs
- SoapIgnoreAttribute.cs
- AnimationLayer.cs
- PathFigureCollection.cs
- SimpleWebHandlerParser.cs
- AttachedAnnotationChangedEventArgs.cs
- Operand.cs
- contentDescriptor.cs
- DataRecordInternal.cs
- Vector3DValueSerializer.cs
- SspiWrapper.cs
- SerializationHelper.cs
- XmlCollation.cs
- QueryAsyncResult.cs
- X500Name.cs
- JavascriptCallbackMessageInspector.cs
- ListViewPagedDataSource.cs
- EditCommandColumn.cs
- RoutingSection.cs
- versioninfo.cs
- OleDbError.cs