Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- OSEnvironmentHelper.cs
- AdapterUtil.cs
- PtsCache.cs
- XmlUrlResolver.cs
- XmlTextReaderImpl.cs
- DbProviderManifest.cs
- XmlName.cs
- EdgeProfileValidation.cs
- TemplateBuilder.cs
- PolicyException.cs
- RestClientProxyHandler.cs
- GenericXmlSecurityToken.cs
- MenuBindingsEditor.cs
- AsymmetricSecurityProtocol.cs
- XmlAttributeOverrides.cs
- newinstructionaction.cs
- XmlEntityReference.cs
- DataGridViewCheckBoxCell.cs
- EntityDataSourceReferenceGroup.cs
- FtpWebRequest.cs
- EventRouteFactory.cs
- PointCollectionConverter.cs
- ListManagerBindingsCollection.cs
- SettingsSection.cs
- BufferModesCollection.cs
- CngUIPolicy.cs
- MulticastNotSupportedException.cs
- DataGridLength.cs
- Vector3DValueSerializer.cs
- MachineKeyConverter.cs
- NamedPermissionSet.cs
- RoleGroupCollection.cs
- Int64.cs
- SQLBoolean.cs
- DataBinding.cs
- PropertyPathConverter.cs
- FragmentQuery.cs
- PeerResolverElement.cs
- Range.cs
- MatcherBuilder.cs
- storepermission.cs
- TypeCodeDomSerializer.cs
- ImageBrush.cs
- PolicyChain.cs
- ServiceDescriptions.cs
- WindowsAuthenticationModule.cs
- WorkflowMessageEventArgs.cs
- ImportCatalogPart.cs
- DataSourceSerializationException.cs
- TraceContextRecord.cs
- ListView.cs
- WorkflowOperationAsyncResult.cs
- TranslateTransform.cs
- FixedDocument.cs
- Point3DCollection.cs
- Section.cs
- XmlNavigatorFilter.cs
- NullableLongAverageAggregationOperator.cs
- SQLInt16.cs
- DockingAttribute.cs
- SelectedDatesCollection.cs
- TextTrailingCharacterEllipsis.cs
- CopyCodeAction.cs
- ContextStack.cs
- EntityContainerRelationshipSetEnd.cs
- XPathDocument.cs
- LZCodec.cs
- ProtocolsConfiguration.cs
- CustomTrackingRecord.cs
- StreamGeometry.cs
- FirewallWrapper.cs
- SystemUdpStatistics.cs
- ObjectResult.cs
- XamlReader.cs
- NodeLabelEditEvent.cs
- Assert.cs
- ResourceWriter.cs
- ScrollPatternIdentifiers.cs
- Animatable.cs
- TextServicesHost.cs
- XmlWriter.cs
- Condition.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- LostFocusEventManager.cs
- dsa.cs
- XmlSignatureProperties.cs
- future.cs
- TransactionFlowBindingElementImporter.cs
- QueryReaderSettings.cs
- IgnoreFileBuildProvider.cs
- ReadOnlyObservableCollection.cs
- BufferedMessageData.cs
- BStrWrapper.cs
- webbrowsersite.cs
- COAUTHINFO.cs
- Array.cs
- Peer.cs
- SamlAttribute.cs
- InitializationEventAttribute.cs
- ClientSettingsProvider.cs