Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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
- DateTimeConverter2.cs
- NativeCompoundFileAPIs.cs
- AllMembershipCondition.cs
- AnnotationResourceCollection.cs
- DataGridViewCellConverter.cs
- SystemEvents.cs
- Enum.cs
- HtmlEncodedRawTextWriter.cs
- oledbmetadatacollectionnames.cs
- GridEntryCollection.cs
- TriState.cs
- RegexWorker.cs
- HttpRawResponse.cs
- ComponentResourceKeyConverter.cs
- WebRequestModuleElement.cs
- Object.cs
- Line.cs
- DataExpression.cs
- DeleteHelper.cs
- AuthenticationService.cs
- HtmlContainerControl.cs
- EventHandlers.cs
- ServiceModelConfiguration.cs
- SqlDataAdapter.cs
- SqlBooleanizer.cs
- RotateTransform.cs
- SystemFonts.cs
- Visitor.cs
- GroupBoxRenderer.cs
- PageBuildProvider.cs
- Region.cs
- ResolveDuplexCD1AsyncResult.cs
- Rotation3DAnimation.cs
- CmsUtils.cs
- Message.cs
- ReferencedAssembly.cs
- ClientSponsor.cs
- peersecuritysettings.cs
- CryptoKeySecurity.cs
- recordstatefactory.cs
- PerfCounterSection.cs
- DesignerSerializationManager.cs
- ScrollEvent.cs
- AuthenticatedStream.cs
- RefreshEventArgs.cs
- XmlQualifiedName.cs
- EraserBehavior.cs
- ResourceWriter.cs
- GradientStopCollection.cs
- EditorZoneDesigner.cs
- TextProperties.cs
- FontFamilyConverter.cs
- ListViewDeletedEventArgs.cs
- DynamicResourceExtension.cs
- HtmlInputRadioButton.cs
- BinaryParser.cs
- PipelineModuleStepContainer.cs
- SchemaTableColumn.cs
- ConfigXmlWhitespace.cs
- HandlerBase.cs
- StringFreezingAttribute.cs
- ObjectRef.cs
- basevalidator.cs
- ReferencedCollectionType.cs
- DataGridViewCellParsingEventArgs.cs
- XmlAtomicValue.cs
- EdmProperty.cs
- XmlSchemaFacet.cs
- MergeFailedEvent.cs
- TypeTypeConverter.cs
- AspCompat.cs
- ScriptingJsonSerializationSection.cs
- AsyncPostBackErrorEventArgs.cs
- ImageAttributes.cs
- Currency.cs
- XpsFilter.cs
- keycontainerpermission.cs
- ListBoxItemAutomationPeer.cs
- HttpBufferlessInputStream.cs
- IdleTimeoutMonitor.cs
- Attribute.cs
- OdbcErrorCollection.cs
- XhtmlConformanceSection.cs
- dbdatarecord.cs
- SimpleType.cs
- OleDbReferenceCollection.cs
- ScriptHandlerFactory.cs
- WebPartMenuStyle.cs
- StatusBarItem.cs
- PostBackOptions.cs
- SecurityMessageProperty.cs
- ConstraintEnumerator.cs
- Label.cs
- ThemeDirectoryCompiler.cs
- NotImplementedException.cs
- DisplayNameAttribute.cs
- PngBitmapDecoder.cs
- ComponentTray.cs
- EnumBuilder.cs
- CodeComment.cs