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
- WebEventTraceProvider.cs
- ActivityCodeGenerator.cs
- ClientConfigPaths.cs
- pingexception.cs
- SoapAttributeAttribute.cs
- AssociationSetEnd.cs
- SpecularMaterial.cs
- SqlInternalConnectionTds.cs
- EdmError.cs
- RadioButtonRenderer.cs
- ToolTipAutomationPeer.cs
- ManifestResourceInfo.cs
- Component.cs
- DropSource.cs
- StrokeCollection.cs
- ProtectedConfiguration.cs
- ExtensionsSection.cs
- FormViewDeletedEventArgs.cs
- HttpModuleAction.cs
- SystemColors.cs
- SqlRemoveConstantOrderBy.cs
- SortableBindingList.cs
- FlagsAttribute.cs
- Composition.cs
- ApplicationSecurityInfo.cs
- PropertyHelper.cs
- ByteStack.cs
- SafeReadContext.cs
- PassportAuthentication.cs
- AdornerHitTestResult.cs
- ReadOnlyDictionary.cs
- updateconfighost.cs
- CursorInteropHelper.cs
- DesignTimeTemplateParser.cs
- Manipulation.cs
- SQLInt64.cs
- XmlNodeChangedEventManager.cs
- WebConfigurationManager.cs
- NavigationCommands.cs
- AssemblyResourceLoader.cs
- SortFieldComparer.cs
- DbCommandDefinition.cs
- DesignerCatalogPartChrome.cs
- AssemblyBuilder.cs
- WebPartDisplayMode.cs
- EncryptedData.cs
- UnmanagedHandle.cs
- SafeNativeMethods.cs
- DesignerOptionService.cs
- XmlSerializableReader.cs
- StreamDocument.cs
- SecurityChannelListener.cs
- IncrementalHitTester.cs
- MessageLoggingFilterTraceRecord.cs
- AdCreatedEventArgs.cs
- Slider.cs
- WebSysDescriptionAttribute.cs
- SqlUtils.cs
- RectangleGeometry.cs
- ReachPageContentSerializerAsync.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- ProcessingInstructionAction.cs
- ApplicationServicesHostFactory.cs
- AggregationMinMaxHelpers.cs
- ModuleBuilder.cs
- DesignTableCollection.cs
- RuleSetReference.cs
- ISessionStateStore.cs
- NullableIntMinMaxAggregationOperator.cs
- AssemblyNameProxy.cs
- InstanceNormalEvent.cs
- ServiceOperationInvoker.cs
- BoolExpressionVisitors.cs
- CharacterMetrics.cs
- CodeDelegateCreateExpression.cs
- DesignerCommandSet.cs
- LogFlushAsyncResult.cs
- ProvidePropertyAttribute.cs
- ThreadExceptionDialog.cs
- MethodCallConverter.cs
- SqlDataSourceFilteringEventArgs.cs
- WindowsUserNameSecurityTokenAuthenticator.cs
- WebPartConnectionsConfigureVerb.cs
- EntityDataSourceColumn.cs
- RequiredFieldValidator.cs
- SqlCacheDependencyDatabaseCollection.cs
- shaperfactoryquerycacheentry.cs
- AssociationSet.cs
- XmlDataSourceView.cs
- ImportContext.cs
- ContractSearchPattern.cs
- RegistrySecurity.cs
- ChildTable.cs
- RangeValidator.cs
- TextProviderWrapper.cs
- PackageProperties.cs
- SpellerStatusTable.cs
- PagerSettings.cs
- TextBoxDesigner.cs
- WindowsMenu.cs