Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / clr / src / BCL / System / Collections / Generic / DebugView.cs / 1 / DebugView.cs
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*==============================================================================
**
**
**
** Purpose: DebugView class for generic collections
**
**
=============================================================================*/
namespace System.Collections.Generic {
using System;
using System.Collections.ObjectModel;
using System.Security.Permissions;
using System.Diagnostics;
//
// VS IDE can't differentiate between types with the same name from different
// assembly. So we need to use different names for collection debug view for
// collections in mscorlib.dll and system.dll.
//
internal sealed class Mscorlib_CollectionDebugView {
private ICollection collection;
public Mscorlib_CollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public T[] Items {
get {
T[] items = new T[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryKeyCollectionDebugView {
private ICollection collection;
public Mscorlib_DictionaryKeyCollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public TKey[] Items {
get {
TKey[] items = new TKey[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryValueCollectionDebugView {
private ICollection collection;
public Mscorlib_DictionaryValueCollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public TValue[] Items {
get {
TValue[] items = new TValue[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryDebugView {
private IDictionary dict;
public Mscorlib_DictionaryDebugView(IDictionary dictionary) {
if (dictionary == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.dictionary);
this.dict = dictionary;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public KeyValuePair[] Items {
get {
KeyValuePair[] items = new KeyValuePair[dict.Count];
dict.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_KeyedCollectionDebugView {
private KeyedCollection kc;
public Mscorlib_KeyedCollectionDebugView(KeyedCollection keyedCollection) {
if (keyedCollection == null) {
throw new ArgumentNullException("keyedCollection");
}
kc = keyedCollection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public T[] Items {
get {
T[] items = new T[kc.Count];
kc.CopyTo(items, 0);
return items;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// ==++==
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// ==--==
/*==============================================================================
**
**
**
** Purpose: DebugView class for generic collections
**
**
=============================================================================*/
namespace System.Collections.Generic {
using System;
using System.Collections.ObjectModel;
using System.Security.Permissions;
using System.Diagnostics;
//
// VS IDE can't differentiate between types with the same name from different
// assembly. So we need to use different names for collection debug view for
// collections in mscorlib.dll and system.dll.
//
internal sealed class Mscorlib_CollectionDebugView {
private ICollection collection;
public Mscorlib_CollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public T[] Items {
get {
T[] items = new T[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryKeyCollectionDebugView {
private ICollection collection;
public Mscorlib_DictionaryKeyCollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public TKey[] Items {
get {
TKey[] items = new TKey[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryValueCollectionDebugView {
private ICollection collection;
public Mscorlib_DictionaryValueCollectionDebugView(ICollection collection) {
if (collection == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.collection);
this.collection = collection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public TValue[] Items {
get {
TValue[] items = new TValue[collection.Count];
collection.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_DictionaryDebugView {
private IDictionary dict;
public Mscorlib_DictionaryDebugView(IDictionary dictionary) {
if (dictionary == null)
ThrowHelper.ThrowArgumentNullException(ExceptionArgument.dictionary);
this.dict = dictionary;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public KeyValuePair[] Items {
get {
KeyValuePair[] items = new KeyValuePair[dict.Count];
dict.CopyTo(items, 0);
return items;
}
}
}
internal sealed class Mscorlib_KeyedCollectionDebugView {
private KeyedCollection kc;
public Mscorlib_KeyedCollectionDebugView(KeyedCollection keyedCollection) {
if (keyedCollection == null) {
throw new ArgumentNullException("keyedCollection");
}
kc = keyedCollection;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public T[] Items {
get {
T[] items = new T[kc.Count];
kc.CopyTo(items, 0);
return items;
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScriptDescriptor.cs
- TypeBuilder.cs
- RSAPKCS1SignatureDeformatter.cs
- Freezable.cs
- SafeWaitHandle.cs
- MainMenu.cs
- ConfigurationManagerHelperFactory.cs
- DeclaredTypeElement.cs
- NonParentingControl.cs
- TextTreeTextElementNode.cs
- PaintValueEventArgs.cs
- FormatConvertedBitmap.cs
- VersionedStreamOwner.cs
- DataControlButton.cs
- Win32MouseDevice.cs
- TryExpression.cs
- SecureConversationSecurityTokenParameters.cs
- BigInt.cs
- DataSourceControl.cs
- MatrixKeyFrameCollection.cs
- ListComponentEditor.cs
- CodeSnippetCompileUnit.cs
- ExpressionNode.cs
- CollectionChangeEventArgs.cs
- FormsAuthenticationUserCollection.cs
- WebPartUtil.cs
- SchemaImporterExtensionsSection.cs
- DependencyPropertyKind.cs
- DocumentSchemaValidator.cs
- GlyphRun.cs
- SizeKeyFrameCollection.cs
- RealProxy.cs
- DropShadowBitmapEffect.cs
- WindowsBrush.cs
- PersonalizationProviderHelper.cs
- PropertyMapper.cs
- tabpagecollectioneditor.cs
- SqlMultiplexer.cs
- HttpProcessUtility.cs
- LocalIdCollection.cs
- StrokeFIndices.cs
- StringStorage.cs
- TransactionsSectionGroup.cs
- EncoderParameter.cs
- UnaryExpression.cs
- ElementFactory.cs
- followingsibling.cs
- ScriptManagerProxy.cs
- ProgressBarAutomationPeer.cs
- EncryptedKeyHashIdentifierClause.cs
- StylusTouchDevice.cs
- IPHostEntry.cs
- UtilityExtension.cs
- EditorBrowsableAttribute.cs
- WorkflowMarkupSerializationManager.cs
- XmlSchemaSimpleContentExtension.cs
- StringExpressionSet.cs
- InternalControlCollection.cs
- brushes.cs
- EntitySqlQueryState.cs
- DrawingContext.cs
- RuntimeHelpers.cs
- UInt64.cs
- TrackBarRenderer.cs
- Stylesheet.cs
- ParameterSubsegment.cs
- FontFamily.cs
- StatusBarItem.cs
- ParameterCollection.cs
- SelectionUIHandler.cs
- TextServicesCompartment.cs
- NamespaceMapping.cs
- ExpressionBindingsDialog.cs
- BuildManager.cs
- InvalidPropValue.cs
- prefixendpointaddressmessagefilter.cs
- PropertyChangedEventArgs.cs
- FormatException.cs
- CatalogZoneBase.cs
- WmlLiteralTextAdapter.cs
- PriorityChain.cs
- Queue.cs
- ToolStripDropDownItem.cs
- InvalidEnumArgumentException.cs
- TextParagraphView.cs
- LoadRetryHandler.cs
- ValueHandle.cs
- DataExpression.cs
- NotCondition.cs
- AndAlso.cs
- SharedTcpTransportManager.cs
- CheckableControlBaseAdapter.cs
- EventProxy.cs
- BoolLiteral.cs
- DrawingServices.cs
- ForeignKeyConstraint.cs
- NamedPipeTransportSecurityElement.cs
- ReachFixedDocumentSerializer.cs
- MemberBinding.cs
- HorizontalAlignConverter.cs