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
- CalculatedColumn.cs
- HebrewNumber.cs
- DropShadowEffect.cs
- SHA1CryptoServiceProvider.cs
- WebBrowsableAttribute.cs
- HtmlHead.cs
- XhtmlBasicFormAdapter.cs
- ColorDialog.cs
- DetailsViewPageEventArgs.cs
- TableLayoutSettings.cs
- FixedSchema.cs
- ToolStripSeparator.cs
- BitmapMetadataEnumerator.cs
- ExpandSegmentCollection.cs
- SingleKeyFrameCollection.cs
- OleDbDataReader.cs
- VScrollProperties.cs
- Timer.cs
- CustomCategoryAttribute.cs
- Vector.cs
- DesignTimeDataBinding.cs
- ImageProxy.cs
- AmbientLight.cs
- ResourceExpressionEditorSheet.cs
- SerialReceived.cs
- ManualResetEventSlim.cs
- DesignerForm.cs
- HandleCollector.cs
- ObjectListDataBindEventArgs.cs
- EntityCommandExecutionException.cs
- ColorPalette.cs
- MessagingDescriptionAttribute.cs
- DoWorkEventArgs.cs
- OleDbMetaDataFactory.cs
- ComponentRenameEvent.cs
- ContextQuery.cs
- SamlSubjectStatement.cs
- Pkcs9Attribute.cs
- ProxyManager.cs
- FirstQueryOperator.cs
- VarRemapper.cs
- ReversePositionQuery.cs
- UnsettableComboBox.cs
- AutomationPatternInfo.cs
- RelationHandler.cs
- InterleavedZipPartStream.cs
- ImageSource.cs
- EmbeddedMailObjectsCollection.cs
- BitmapEffectDrawing.cs
- RenderingEventArgs.cs
- CodeGenHelper.cs
- TemplateEditingVerb.cs
- ServiceDebugBehavior.cs
- BuildProviderCollection.cs
- XPathNodeList.cs
- HttpException.cs
- StrokeFIndices.cs
- PageSettings.cs
- ProcessThread.cs
- WorkflowApplicationAbortedException.cs
- ExtendedPropertyDescriptor.cs
- AssociationProvider.cs
- CachedPathData.cs
- FormsIdentity.cs
- DynamicPropertyHolder.cs
- SplayTreeNode.cs
- AggregateNode.cs
- PathSegmentCollection.cs
- CustomAttributeFormatException.cs
- PrimitiveXmlSerializers.cs
- XPathCompileException.cs
- BitmapSource.cs
- SpecialTypeDataContract.cs
- ProjectionPathSegment.cs
- SmiEventSink.cs
- XmlSchemaGroupRef.cs
- AssemblyHash.cs
- XPathNavigatorReader.cs
- DataGridItemAttachedStorage.cs
- httpstaticobjectscollection.cs
- UnsafeNativeMethods.cs
- ManagedFilter.cs
- BamlRecordHelper.cs
- HttpModuleCollection.cs
- mactripleDES.cs
- TextDecorationCollection.cs
- StoragePropertyMapping.cs
- XmlKeywords.cs
- DBAsyncResult.cs
- SafeNativeMethods.cs
- DBSqlParserTableCollection.cs
- XmlnsCompatibleWithAttribute.cs
- BaseServiceProvider.cs
- GorillaCodec.cs
- BitConverter.cs
- DirectoryInfo.cs
- DelimitedListTraceListener.cs
- UrlEncodedParameterWriter.cs
- followingsibling.cs
- UnsafeNativeMethods.cs