Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CompoundFileIOPermission.cs
- ListViewItemEventArgs.cs
- BackStopAuthenticationModule.cs
- ImmutablePropertyDescriptorGridEntry.cs
- RsaSecurityKey.cs
- SplitContainerDesigner.cs
- OleDbDataAdapter.cs
- SubclassTypeValidatorAttribute.cs
- WebPartVerbCollection.cs
- EmptyReadOnlyDictionaryInternal.cs
- CompModSwitches.cs
- XmlSchemaType.cs
- ContextMenuAutomationPeer.cs
- LabelEditEvent.cs
- Parser.cs
- TypeDependencyAttribute.cs
- SafeRegistryHandle.cs
- TextFragmentEngine.cs
- XmlSchemaDatatype.cs
- StreamHelper.cs
- SchemaComplexType.cs
- StringAttributeCollection.cs
- WriteTimeStream.cs
- SQLByte.cs
- StateManagedCollection.cs
- X509PeerCertificateElement.cs
- EventProvider.cs
- RadioButton.cs
- ProcessHostFactoryHelper.cs
- ZipPackage.cs
- WindowInteropHelper.cs
- CollectionBuilder.cs
- ImageDrawing.cs
- CodeDomExtensionMethods.cs
- StateDesigner.Layouts.cs
- CharEnumerator.cs
- BuildDependencySet.cs
- ScopedKnownTypes.cs
- BitmapImage.cs
- PageTheme.cs
- MailBnfHelper.cs
- ValidatorCollection.cs
- ObjectContext.cs
- SingletonInstanceContextProvider.cs
- ObservableCollection.cs
- SafeNativeMethods.cs
- CryptoStream.cs
- XsltLibrary.cs
- SystemThemeKey.cs
- baseaxisquery.cs
- NonBatchDirectoryCompiler.cs
- SendKeys.cs
- StrongNameIdentityPermission.cs
- ScriptingAuthenticationServiceSection.cs
- DataBinder.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- NetDataContractSerializer.cs
- EventManager.cs
- DataControlReference.cs
- TreeWalker.cs
- Profiler.cs
- KeyInterop.cs
- PersonalizableTypeEntry.cs
- Errors.cs
- Assert.cs
- GroupDescription.cs
- BrowserCapabilitiesFactory.cs
- NativeMethods.cs
- TextTreeRootNode.cs
- ThreadInterruptedException.cs
- HandlerWithFactory.cs
- XmlReaderDelegator.cs
- TdsRecordBufferSetter.cs
- GAC.cs
- EntityDataSourceEntityTypeFilterItem.cs
- OrderByQueryOptionExpression.cs
- CodeDefaultValueExpression.cs
- MatcherBuilder.cs
- CryptoKeySecurity.cs
- QilPatternVisitor.cs
- SpAudioStreamWrapper.cs
- HwndKeyboardInputProvider.cs
- ClassicBorderDecorator.cs
- SHA384Managed.cs
- TimeSpanOrInfiniteConverter.cs
- ZipIOExtraFieldPaddingElement.cs
- PriorityBinding.cs
- DynamicEndpoint.cs
- TransformConverter.cs
- ResourceAssociationType.cs
- DataGridViewImageCell.cs
- ContainerControl.cs
- RepeaterCommandEventArgs.cs
- SqlDataSource.cs
- InstanceCreationEditor.cs
- XmlSchemaGroup.cs
- DeriveBytes.cs
- M3DUtil.cs
- DependencyObject.cs
- PolyQuadraticBezierSegment.cs