Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- DesignTable.cs
- Literal.cs
- CheckBoxField.cs
- TabPageDesigner.cs
- SmtpNetworkElement.cs
- SqlWebEventProvider.cs
- Point4D.cs
- DynamicDocumentPaginator.cs
- MenuItemStyleCollection.cs
- InkPresenter.cs
- InvalidPrinterException.cs
- Tuple.cs
- OdbcDataReader.cs
- Point4D.cs
- KeyValueSerializer.cs
- ChtmlTextWriter.cs
- BaseComponentEditor.cs
- EmptyStringExpandableObjectConverter.cs
- XPathDocumentIterator.cs
- AddressHeaderCollectionElement.cs
- PointAnimationUsingKeyFrames.cs
- ListViewTableRow.cs
- RegisteredDisposeScript.cs
- RegistryDataKey.cs
- IntegerValidator.cs
- ManagementObjectSearcher.cs
- Connection.cs
- WebReferenceCollection.cs
- ConsoleCancelEventArgs.cs
- CompositeDesignerAccessibleObject.cs
- TransformCollection.cs
- XPathArrayIterator.cs
- InheritanceUI.cs
- CodeAttachEventStatement.cs
- GridViewRow.cs
- BCLDebug.cs
- XmlIncludeAttribute.cs
- DockPanel.cs
- Clipboard.cs
- QfeChecker.cs
- MeasurementDCInfo.cs
- SkipQueryOptionExpression.cs
- PointAnimationUsingPath.cs
- Win32NamedPipes.cs
- AtomParser.cs
- FunctionQuery.cs
- DataGridTablesFactory.cs
- TextParagraphCache.cs
- TargetConverter.cs
- HotSpotCollection.cs
- Asn1IntegerConverter.cs
- WebPartConnectionCollection.cs
- ExpressionTextBoxAutomationPeer.cs
- NavigationService.cs
- QuotedStringWriteStateInfo.cs
- CompoundFileIOPermission.cs
- VisualStyleInformation.cs
- RoutedEventConverter.cs
- FontNamesConverter.cs
- ADMembershipProvider.cs
- XmlLinkedNode.cs
- SHA1CryptoServiceProvider.cs
- MetaTableHelper.cs
- ArrayExtension.cs
- JournalEntry.cs
- RijndaelManagedTransform.cs
- ClientSettingsStore.cs
- Int32EqualityComparer.cs
- GridSplitterAutomationPeer.cs
- SelectingProviderEventArgs.cs
- SoapReflectionImporter.cs
- X509CertificateRecipientServiceCredential.cs
- MessageQueueConverter.cs
- AutomationElementIdentifiers.cs
- TcpProcessProtocolHandler.cs
- NetTcpSecurityElement.cs
- WorkflowOwnershipException.cs
- QilGeneratorEnv.cs
- VisualBasicSettingsHandler.cs
- HtmlInputFile.cs
- PointCollectionConverter.cs
- DragDrop.cs
- IndexedGlyphRun.cs
- Metafile.cs
- HostedHttpRequestAsyncResult.cs
- PathFigureCollection.cs
- BooleanStorage.cs
- HtmlInputFile.cs
- MatrixAnimationBase.cs
- ProjectionAnalyzer.cs
- HandlerBase.cs
- DesignerForm.cs
- DataControlFieldCell.cs
- MetadataSource.cs
- ImageFormatConverter.cs
- TreeNodeMouseHoverEvent.cs
- RelativeSource.cs
- baseaxisquery.cs
- GridViewUpdateEventArgs.cs
- RoleServiceManager.cs