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
- RawStylusInputCustomDataList.cs
- RequestCachingSection.cs
- ThreadInterruptedException.cs
- WsatRegistrationHeader.cs
- WindowsStreamSecurityBindingElement.cs
- ManagementException.cs
- Properties.cs
- externdll.cs
- TextSchema.cs
- brushes.cs
- BigInt.cs
- SeverityFilter.cs
- Wrapper.cs
- ValidationSummary.cs
- XmlArrayAttribute.cs
- NotificationContext.cs
- TableParagraph.cs
- NodeInfo.cs
- CanonicalFontFamilyReference.cs
- ToolStripItemEventArgs.cs
- WebZone.cs
- SingleBodyParameterMessageFormatter.cs
- MDIClient.cs
- OrderedDictionaryStateHelper.cs
- Debug.cs
- NullRuntimeConfig.cs
- Int32AnimationUsingKeyFrames.cs
- FontEmbeddingManager.cs
- WinFormsComponentEditor.cs
- WebPartDescription.cs
- TreeNode.cs
- ObjectReferenceStack.cs
- UIElement3D.cs
- selecteditemcollection.cs
- InfoCardRequestException.cs
- filewebrequest.cs
- WizardForm.cs
- DBCommandBuilder.cs
- TrimSurroundingWhitespaceAttribute.cs
- BinarySecretKeyIdentifierClause.cs
- RuleInfoComparer.cs
- HttpHandlersInstallComponent.cs
- ProfileBuildProvider.cs
- EntitySqlQueryBuilder.cs
- _CommandStream.cs
- NameTable.cs
- MultiPropertyDescriptorGridEntry.cs
- XmlWriter.cs
- SoapInteropTypes.cs
- SmtpReplyReader.cs
- PointAnimationClockResource.cs
- BookmarkEventArgs.cs
- SQLSingle.cs
- SemanticResolver.cs
- NumberSubstitution.cs
- Pens.cs
- ResourceSetExpression.cs
- DATA_BLOB.cs
- UInt32Storage.cs
- ObjectItemAttributeAssemblyLoader.cs
- PrintDialog.cs
- BufferedStream.cs
- DataListCommandEventArgs.cs
- ISO2022Encoding.cs
- baseaxisquery.cs
- MessageFilterTable.cs
- TransformCollection.cs
- DesignerLoader.cs
- CssStyleCollection.cs
- SelectedGridItemChangedEvent.cs
- DictionaryBase.cs
- DesignSurfaceEvent.cs
- InvokeWebServiceDesigner.cs
- TransformerConfigurationWizardBase.cs
- InProcStateClientManager.cs
- PropertyStore.cs
- SuppressIldasmAttribute.cs
- HotSpotCollection.cs
- WebPartConnectionsConnectVerb.cs
- TypeInfo.cs
- DataGridViewHeaderCell.cs
- SafeEventLogReadHandle.cs
- XmlQueryType.cs
- Marshal.cs
- MaskedTextProvider.cs
- DbConnectionPoolGroupProviderInfo.cs
- RowUpdatingEventArgs.cs
- AmbientLight.cs
- DataGridViewRowsRemovedEventArgs.cs
- ListViewItemSelectionChangedEvent.cs
- RegisteredArrayDeclaration.cs
- HebrewCalendar.cs
- WebPartZone.cs
- RootBrowserWindowAutomationPeer.cs
- ProcessModule.cs
- ToolStripDropDownMenu.cs
- xamlnodes.cs
- Events.cs
- filewebrequest.cs
- AttributeCollection.cs