Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RNGCryptoServiceProvider.cs
- ConnectionManager.cs
- DesignerForm.cs
- ListItemCollection.cs
- DataGridDetailsPresenter.cs
- Point3DCollectionValueSerializer.cs
- GeometryValueSerializer.cs
- DataColumnCollection.cs
- PageEventArgs.cs
- AppDomainManager.cs
- DynamicExpression.cs
- WindowsClaimSet.cs
- ExponentialEase.cs
- PhonemeConverter.cs
- ImageCodecInfoPrivate.cs
- ConnectionManagementSection.cs
- FormViewDeleteEventArgs.cs
- SchemaLookupTable.cs
- MatrixTransform3D.cs
- XmlUtil.cs
- RuntimeResourceSet.cs
- ElementsClipboardData.cs
- XmlQueryType.cs
- ProfileServiceManager.cs
- Wizard.cs
- DomainConstraint.cs
- StreamingContext.cs
- lengthconverter.cs
- ZipPackagePart.cs
- GACIdentityPermission.cs
- ListBoxItemAutomationPeer.cs
- BamlLocalizableResource.cs
- DependencyPropertyConverter.cs
- AssemblyResourceLoader.cs
- MailAddress.cs
- CreateUserWizardStep.cs
- oledbmetadatacolumnnames.cs
- NestedContainer.cs
- ImageMapEventArgs.cs
- WorkflowElementDialogWindow.xaml.cs
- ThreadAbortException.cs
- TextParaClient.cs
- StructuredProperty.cs
- AssemblyCache.cs
- bidPrivateBase.cs
- IndexOutOfRangeException.cs
- HostingPreferredMapPath.cs
- ChannelHandler.cs
- ProviderIncompatibleException.cs
- HiddenFieldPageStatePersister.cs
- TabControl.cs
- Matrix.cs
- TypeUtils.cs
- WebPartsPersonalizationAuthorization.cs
- DrawingContextDrawingContextWalker.cs
- CompilerResults.cs
- SchemaObjectWriter.cs
- EventSourceCreationData.cs
- WebPartCatalogCloseVerb.cs
- AttributeEmitter.cs
- ConfigurationManagerHelper.cs
- AuthorizationContext.cs
- ParameterToken.cs
- Token.cs
- MessageQueueException.cs
- IdentityNotMappedException.cs
- Permission.cs
- MatchNoneMessageFilter.cs
- AmbientLight.cs
- Evidence.cs
- SiteMapPath.cs
- StreamResourceInfo.cs
- _PooledStream.cs
- ExpressionBuilderContext.cs
- XsdDuration.cs
- SessionSwitchEventArgs.cs
- ErrorTolerantObjectWriter.cs
- Error.cs
- Condition.cs
- Page.cs
- DesignerDataSchemaClass.cs
- DragDeltaEventArgs.cs
- InvokeGenerator.cs
- DoubleKeyFrameCollection.cs
- ObjectParameter.cs
- COMException.cs
- OptimalBreakSession.cs
- SHA384Managed.cs
- PhysicalAddress.cs
- KeyValuePair.cs
- SchemaNotation.cs
- ObjectPersistData.cs
- ConfigurationValue.cs
- CapabilitiesSection.cs
- CodeCatchClauseCollection.cs
- Int32AnimationBase.cs
- QueryContinueDragEvent.cs
- VBCodeProvider.cs
- DataGridViewCellConverter.cs
- RegisteredExpandoAttribute.cs