Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Documents / DocumentReferenceCollection.cs / 1305600 / 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
- CodeDelegateInvokeExpression.cs
- RadialGradientBrush.cs
- ConfigurationConverterBase.cs
- XMLSyntaxException.cs
- BindingOperations.cs
- Label.cs
- ErrorWrapper.cs
- SecurityPolicySection.cs
- GenericEnumerator.cs
- WindowsToolbarAsMenu.cs
- WeakHashtable.cs
- Expressions.cs
- SqlRowUpdatingEvent.cs
- ActiveXSite.cs
- EtwTrace.cs
- TypedDataSetSchemaImporterExtension.cs
- TimelineClockCollection.cs
- ErrorWrapper.cs
- BasicBrowserDialog.designer.cs
- DesignerTransaction.cs
- mediaclock.cs
- ExpandCollapseProviderWrapper.cs
- ReadOnlyCollection.cs
- TreeBuilderBamlTranslator.cs
- XmlAggregates.cs
- ProcessInputEventArgs.cs
- StructuredType.cs
- StorageMappingFragment.cs
- TreeNodeEventArgs.cs
- TagElement.cs
- EventLogPermissionEntryCollection.cs
- WebBrowserBase.cs
- UpdateTranslator.cs
- ListViewGroupConverter.cs
- ComPlusDiagnosticTraceRecords.cs
- CodeAttributeArgumentCollection.cs
- MemberExpression.cs
- ForEachDesigner.xaml.cs
- HtmlInputSubmit.cs
- PipelineModuleStepContainer.cs
- MetaData.cs
- CustomAttribute.cs
- TextEffect.cs
- SharedDp.cs
- SoapEnumAttribute.cs
- TextEditorCharacters.cs
- RegexMatchCollection.cs
- Size.cs
- ConnectionsZone.cs
- InstalledFontCollection.cs
- ObjectIDGenerator.cs
- MSAANativeProvider.cs
- ConfigXmlAttribute.cs
- GlyphRunDrawing.cs
- ProfileServiceManager.cs
- ToolStripStatusLabel.cs
- QualifiedCellIdBoolean.cs
- OSEnvironmentHelper.cs
- FontFamilyValueSerializer.cs
- OracleEncoding.cs
- ProfilePropertyNameValidator.cs
- SubpageParaClient.cs
- HostingEnvironmentException.cs
- SystemBrushes.cs
- DebugTrace.cs
- TemplateControlCodeDomTreeGenerator.cs
- XsdDataContractExporter.cs
- PriorityBindingExpression.cs
- CuspData.cs
- TcpAppDomainProtocolHandler.cs
- CreateUserErrorEventArgs.cs
- InvalidPropValue.cs
- EntityTemplateFactory.cs
- HashSetEqualityComparer.cs
- ErrorTableItemStyle.cs
- LifetimeServices.cs
- HttpCookieCollection.cs
- MatrixValueSerializer.cs
- RoleGroupCollection.cs
- ThreadStartException.cs
- CompilationLock.cs
- WindowsScrollBarBits.cs
- DataGridItem.cs
- ParameterBuilder.cs
- CapabilitiesAssignment.cs
- BaseTemplateParser.cs
- UnsafeNativeMethods.cs
- InstanceDescriptor.cs
- DynamicEndpoint.cs
- DataMemberConverter.cs
- GenerateHelper.cs
- TrackingCondition.cs
- ReaderWriterLockWrapper.cs
- StringKeyFrameCollection.cs
- TdsParserHelperClasses.cs
- HandlerBase.cs
- PrimaryKeyTypeConverter.cs
- RecoverInstanceLocksCommand.cs
- DispatcherOperation.cs
- TemplateField.cs