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
- Error.cs
- metadatamappinghashervisitor.cs
- WindowPattern.cs
- TriState.cs
- WebDisplayNameAttribute.cs
- MatrixTransform.cs
- ExtractorMetadata.cs
- UseLicense.cs
- CallTemplateAction.cs
- ValidationErrorInfo.cs
- EntityTypeEmitter.cs
- ProcessThread.cs
- FileUpload.cs
- PriorityBinding.cs
- GPRECT.cs
- FrameworkObject.cs
- TextTreeInsertElementUndoUnit.cs
- FillBehavior.cs
- MarginCollapsingState.cs
- EntityKeyElement.cs
- DataGridTextBox.cs
- AutomationIdentifier.cs
- UxThemeWrapper.cs
- HttpListenerContext.cs
- Rectangle.cs
- GridViewCellAutomationPeer.cs
- SystemSounds.cs
- InputScopeAttribute.cs
- Condition.cs
- ColorConverter.cs
- HtmlContainerControl.cs
- GraphicsContainer.cs
- XmlReflectionMember.cs
- Win32PrintDialog.cs
- TextBoxAutoCompleteSourceConverter.cs
- Stylesheet.cs
- SiteMapNodeCollection.cs
- SelectorItemAutomationPeer.cs
- XPathAncestorQuery.cs
- TextBox.cs
- AdapterDictionary.cs
- TextEditorCopyPaste.cs
- MessageDispatch.cs
- PrintPageEvent.cs
- OperationParameterInfoCollection.cs
- FixedSchema.cs
- LocalClientSecuritySettingsElement.cs
- PrePrepareMethodAttribute.cs
- ConvertEvent.cs
- Graphics.cs
- ImagingCache.cs
- MetafileHeader.cs
- FloatSumAggregationOperator.cs
- ClientRolePrincipal.cs
- EventTask.cs
- DocumentReferenceCollection.cs
- UrlMappingsSection.cs
- ChildTable.cs
- DataGridViewCellValueEventArgs.cs
- HttpHandlerActionCollection.cs
- TypeInfo.cs
- DATA_BLOB.cs
- TraceData.cs
- MarkedHighlightComponent.cs
- CodeBinaryOperatorExpression.cs
- ObjectHandle.cs
- SessionPageStateSection.cs
- XPathMultyIterator.cs
- IProvider.cs
- ProxyManager.cs
- StringPropertyBuilder.cs
- SecurityCriticalDataForSet.cs
- BindingManagerDataErrorEventArgs.cs
- ImageListImage.cs
- SystemBrushes.cs
- DeferredTextReference.cs
- _SecureChannel.cs
- Point4D.cs
- ShaderEffect.cs
- RowToFieldTransformer.cs
- LineServicesRun.cs
- FormParameter.cs
- SmiXetterAccessMap.cs
- FilteredAttributeCollection.cs
- DropShadowEffect.cs
- ItemList.cs
- ProxyManager.cs
- MenuItemBinding.cs
- SqlExpander.cs
- _emptywebproxy.cs
- DataBinding.cs
- ServiceHttpHandlerFactory.cs
- IdentityReference.cs
- DbParameterCollection.cs
- TextEditorMouse.cs
- SqlCaseSimplifier.cs
- SchemaNamespaceManager.cs
- InheritablePropertyChangeInfo.cs
- PixelFormatConverter.cs
- DataRowCollection.cs