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
- UnknownBitmapDecoder.cs
- PropertyCollection.cs
- DeferredSelectedIndexReference.cs
- EdmValidator.cs
- SmiTypedGetterSetter.cs
- FormsAuthenticationUserCollection.cs
- ScriptIgnoreAttribute.cs
- BaseHashHelper.cs
- MaterialCollection.cs
- MetaTableHelper.cs
- ISessionStateStore.cs
- MobileComponentEditorPage.cs
- FontResourceCache.cs
- M3DUtil.cs
- SplayTreeNode.cs
- ProfileModule.cs
- ThemeDirectoryCompiler.cs
- DataGridSortCommandEventArgs.cs
- TextEditorCharacters.cs
- MatrixUtil.cs
- ListItemCollection.cs
- AutoFocusStyle.xaml.cs
- RequestCachingSection.cs
- GradientBrush.cs
- FieldNameLookup.cs
- SqlTriggerContext.cs
- ComEventsInfo.cs
- Descriptor.cs
- ModelPerspective.cs
- ACL.cs
- BamlRecordHelper.cs
- DynamicILGenerator.cs
- InternalPolicyElement.cs
- _ConnectOverlappedAsyncResult.cs
- ObjectQueryState.cs
- CorrelationQuery.cs
- StringComparer.cs
- XmlValidatingReader.cs
- AddInContractAttribute.cs
- XmlSchemas.cs
- DrawingContextDrawingContextWalker.cs
- DesignerValidationSummaryAdapter.cs
- TableRowCollection.cs
- TransactionBridgeSection.cs
- ChannelBinding.cs
- OperatorExpressions.cs
- ImagingCache.cs
- AsymmetricKeyExchangeDeformatter.cs
- PermissionToken.cs
- SkinBuilder.cs
- StatusBarPanelClickEvent.cs
- Cast.cs
- OracleParameter.cs
- MetadataArtifactLoaderCompositeFile.cs
- AppModelKnownContentFactory.cs
- MetaTableHelper.cs
- TreeNodeBindingCollection.cs
- DrawingAttributes.cs
- ApplicationInfo.cs
- BaseCodeDomTreeGenerator.cs
- Range.cs
- TreeNodeCollectionEditor.cs
- SynchronizationContext.cs
- VisualBasicSettingsHandler.cs
- ExtensionFile.cs
- AnimationClock.cs
- EnvelopedPkcs7.cs
- CrossAppDomainChannel.cs
- ClientUrlResolverWrapper.cs
- TypeInfo.cs
- XamlWrappingReader.cs
- XmlComment.cs
- XamlPoint3DCollectionSerializer.cs
- streamingZipPartStream.cs
- CellConstantDomain.cs
- DesignerForm.cs
- MessageRpc.cs
- TokenizerHelper.cs
- ChtmlTextWriter.cs
- VarRefManager.cs
- FontFamily.cs
- PersonalizationProvider.cs
- SerializationSectionGroup.cs
- mediaeventshelper.cs
- RuntimeHelpers.cs
- Int64AnimationBase.cs
- TableLayoutSettings.cs
- PaperSource.cs
- TextTreeTextElementNode.cs
- XmlSchemaSimpleTypeRestriction.cs
- MailAddressCollection.cs
- BatchParser.cs
- FastEncoderStatics.cs
- SimpleBitVector32.cs
- PagePropertiesChangingEventArgs.cs
- ScriptManagerProxy.cs
- HttpHandlersSection.cs
- XmlSchemaParticle.cs
- Number.cs
- ListItemParagraph.cs