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
- DataGridViewAdvancedBorderStyle.cs
- EntityContainerAssociationSet.cs
- COM2Properties.cs
- ScriptResourceAttribute.cs
- FormViewPagerRow.cs
- PrintDocument.cs
- behaviorssection.cs
- Publisher.cs
- Attributes.cs
- PrivilegeNotHeldException.cs
- SQLGuidStorage.cs
- Variant.cs
- TrackingMemoryStreamFactory.cs
- WebPartVerbCollection.cs
- SmtpNegotiateAuthenticationModule.cs
- KeyEvent.cs
- DelegateOutArgument.cs
- OTFRasterizer.cs
- _SafeNetHandles.cs
- PublisherIdentityPermission.cs
- Graph.cs
- ControlDesigner.cs
- Vector3DCollectionConverter.cs
- CodeConditionStatement.cs
- ItemsControlAutomationPeer.cs
- XmlRawWriter.cs
- ListContractAdapter.cs
- GridViewItemAutomationPeer.cs
- TargetFrameworkAttribute.cs
- ValidationHelper.cs
- XmlSignatureManifest.cs
- FormatVersion.cs
- ValueUnavailableException.cs
- SocketElement.cs
- TcpHostedTransportConfiguration.cs
- HttpContextBase.cs
- SoapAttributeAttribute.cs
- GPRECT.cs
- SyncMethodInvoker.cs
- XamlSerializerUtil.cs
- ScriptResourceDefinition.cs
- ObjectListDataBindEventArgs.cs
- ProtocolsConfiguration.cs
- AssemblyBuilder.cs
- OdbcConnectionString.cs
- ReadOnlyCollectionBase.cs
- ListParagraph.cs
- DataServiceResponse.cs
- DependencyPropertyKey.cs
- SqlDependencyUtils.cs
- DocumentOrderQuery.cs
- CookielessHelper.cs
- ListViewDeletedEventArgs.cs
- XmlDocumentSchema.cs
- NameTable.cs
- ProxyGenerationError.cs
- Point4DConverter.cs
- AlgoModule.cs
- SqlStatistics.cs
- XPathQilFactory.cs
- CodeArgumentReferenceExpression.cs
- HttpServerVarsCollection.cs
- EntitySetBaseCollection.cs
- XamlFilter.cs
- DbSourceParameterCollection.cs
- NotifyIcon.cs
- ToolboxItemCollection.cs
- WindowsRichEditRange.cs
- PointF.cs
- EdmToObjectNamespaceMap.cs
- TagNameToTypeMapper.cs
- Avt.cs
- ValidateNames.cs
- CheckBox.cs
- TextAdaptor.cs
- KeyMatchBuilder.cs
- SqlBulkCopyColumnMapping.cs
- ZoneIdentityPermission.cs
- IResourceProvider.cs
- ThreadExceptionDialog.cs
- DataGridCellInfo.cs
- TextBoxLine.cs
- MatrixTransform3D.cs
- ResourceAssociationSetEnd.cs
- CodeCatchClauseCollection.cs
- Int64KeyFrameCollection.cs
- SizeChangedEventArgs.cs
- ICspAsymmetricAlgorithm.cs
- CSharpCodeProvider.cs
- odbcmetadatacollectionnames.cs
- NativeMethods.cs
- TableLayoutPanelCodeDomSerializer.cs
- Image.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- EndpointConfigContainer.cs
- ManagementEventArgs.cs
- PointAnimationClockResource.cs
- LinqDataSourceStatusEventArgs.cs
- WorkItem.cs
- PlacementWorkspace.cs