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
- ScriptRef.cs
- CompiledXpathExpr.cs
- WebPartConnectionsEventArgs.cs
- PropertyIDSet.cs
- DateTimeFormatInfoScanner.cs
- BinaryMethodMessage.cs
- ServiceEndpointElementCollection.cs
- IconBitmapDecoder.cs
- ItemAutomationPeer.cs
- DataGridViewComboBoxCell.cs
- ComponentDispatcher.cs
- BounceEase.cs
- TraceSource.cs
- AliasGenerator.cs
- WebPartUtil.cs
- DiagnosticsConfigurationHandler.cs
- ProfileGroupSettingsCollection.cs
- OdbcConnectionFactory.cs
- ProcessInfo.cs
- NumberSubstitution.cs
- METAHEADER.cs
- NumberAction.cs
- CultureTable.cs
- ConstructorBuilder.cs
- InvokePattern.cs
- StateMachineSubscription.cs
- ScriptRef.cs
- PassportAuthenticationModule.cs
- ConfigXmlElement.cs
- HMACRIPEMD160.cs
- SqlExpander.cs
- DropShadowEffect.cs
- TimeStampChecker.cs
- ToolboxBitmapAttribute.cs
- ApplicationBuildProvider.cs
- HttpCacheVaryByContentEncodings.cs
- InvalidCastException.cs
- FacetDescriptionElement.cs
- ListViewInsertEventArgs.cs
- SqlHelper.cs
- RSAOAEPKeyExchangeFormatter.cs
- TeredoHelper.cs
- ButtonAutomationPeer.cs
- ConstNode.cs
- MenuAutomationPeer.cs
- PropertyOrder.cs
- CodeExporter.cs
- WebPartCloseVerb.cs
- EditorResources.cs
- XmlSchemaAll.cs
- EventHandlingScope.cs
- UnSafeCharBuffer.cs
- PrimitiveCodeDomSerializer.cs
- CategoryNameCollection.cs
- TypeDescriptor.cs
- IisTraceListener.cs
- ExponentialEase.cs
- XamlWriter.cs
- Parameter.cs
- EntityDataSourceColumn.cs
- Version.cs
- OutgoingWebRequestContext.cs
- TdsParameterSetter.cs
- TCPListener.cs
- TemplateControl.cs
- XmlSchemaException.cs
- TypeValidationEventArgs.cs
- unsafenativemethodstextservices.cs
- Splitter.cs
- NumberFormatter.cs
- ObjectStorage.cs
- DecoderFallbackWithFailureFlag.cs
- RuleInfoComparer.cs
- StructuredCompositeActivityDesigner.cs
- UriParserTemplates.cs
- objectquery_tresulttype.cs
- SamlDelegatingWriter.cs
- BitmapSource.cs
- TreeWalkHelper.cs
- RuntimeIdentifierPropertyAttribute.cs
- FixedHyperLink.cs
- Memoizer.cs
- ListControl.cs
- ObjectKeyFrameCollection.cs
- EventPropertyMap.cs
- FixedLineResult.cs
- ContentValidator.cs
- RtfToXamlReader.cs
- MenuItemBindingCollection.cs
- NotifyInputEventArgs.cs
- AuthenticationConfig.cs
- DependencyObjectType.cs
- FamilyMap.cs
- ClientConfigurationSystem.cs
- EarlyBoundInfo.cs
- ValueConversionAttribute.cs
- SQLCharsStorage.cs
- DateBoldEvent.cs
- DefaultPrintController.cs
- EmissiveMaterial.cs