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 IEnumerator GetEnumerator()
{
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 IEnumerator GetEnumerator()
{
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
- DataSourceComponent.cs
- SqlError.cs
- xmlglyphRunInfo.cs
- XmlAttributeCollection.cs
- ArrayWithOffset.cs
- VirtualDirectoryMapping.cs
- LayoutInformation.cs
- ComponentResourceKeyConverter.cs
- IxmlLineInfo.cs
- PermissionSetTriple.cs
- QueryHandler.cs
- _ProxyChain.cs
- XmlSchemaNotation.cs
- Zone.cs
- ComponentResourceKey.cs
- CrossSiteScriptingValidation.cs
- PropertyEmitter.cs
- TraceData.cs
- ErrorEventArgs.cs
- ReferenceEqualityComparer.cs
- TableItemPattern.cs
- LambdaCompiler.Address.cs
- DescendentsWalker.cs
- XPathParser.cs
- DefaultValueConverter.cs
- QilIterator.cs
- FixedSOMPageElement.cs
- ParagraphResult.cs
- ProfileManager.cs
- FileDetails.cs
- VirtualDirectoryMapping.cs
- ColumnWidthChangedEvent.cs
- ClientTargetCollection.cs
- XmlDocument.cs
- PropertyInformation.cs
- QueryGeneratorBase.cs
- SupportsEventValidationAttribute.cs
- Int64Storage.cs
- DataTemplateSelector.cs
- ConstructorNeedsTagAttribute.cs
- BoolExpression.cs
- uribuilder.cs
- RowsCopiedEventArgs.cs
- HttpPostedFile.cs
- NamedElement.cs
- EventListener.cs
- ObjectDataProvider.cs
- OpenTypeLayoutCache.cs
- ArrayConverter.cs
- SQLBinaryStorage.cs
- LogLogRecordHeader.cs
- WebControlParameterProxy.cs
- DataSourceControl.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- DefaultMemberAttribute.cs
- ZipIOExtraField.cs
- Vector3D.cs
- XPathItem.cs
- ToolStripDropDownMenu.cs
- RewritingPass.cs
- GraphicsState.cs
- WebPartConnectionsCancelVerb.cs
- WebPartConnectionsConfigureVerb.cs
- EventEntry.cs
- TraceUtils.cs
- BinaryObjectReader.cs
- CharStorage.cs
- ReadOnlyDictionary.cs
- SimpleWorkerRequest.cs
- TimeSpanSecondsConverter.cs
- Button.cs
- ScrollChrome.cs
- WebColorConverter.cs
- Journal.cs
- LinqDataSourceStatusEventArgs.cs
- DataSet.cs
- UnsafePeerToPeerMethods.cs
- OpenTypeMethods.cs
- returneventsaver.cs
- AspNetSynchronizationContext.cs
- URL.cs
- CompiledRegexRunnerFactory.cs
- PerformanceCounterPermissionEntryCollection.cs
- Encoder.cs
- SignedXml.cs
- LookupBindingPropertiesAttribute.cs
- DateTimeParse.cs
- DesignerPerfEventProvider.cs
- XmlAttribute.cs
- RunClient.cs
- WebSysDisplayNameAttribute.cs
- TransactedBatchContext.cs
- ListViewTableRow.cs
- BufferedWebEventProvider.cs
- UxThemeWrapper.cs
- ZoomingMessageFilter.cs
- MetadataUtilsSmi.cs
- RoutingUtilities.cs
- StickyNote.cs
- PhonemeConverter.cs