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
- RowParagraph.cs
- HandleRef.cs
- control.ime.cs
- WasEndpointConfigContainer.cs
- GatewayIPAddressInformationCollection.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- ListView.cs
- DesignerProperties.cs
- EmptyEnumerator.cs
- BufferedStream.cs
- Currency.cs
- UnicastIPAddressInformationCollection.cs
- ToolStripSeparator.cs
- Cell.cs
- FacetChecker.cs
- Crc32.cs
- PreviewPageInfo.cs
- TableLayoutCellPaintEventArgs.cs
- Model3DCollection.cs
- RegexRunnerFactory.cs
- XPathDocumentBuilder.cs
- future.cs
- XamlSerializer.cs
- Soap12ServerProtocol.cs
- WorkflowElementDialogWindow.xaml.cs
- SqlClientMetaDataCollectionNames.cs
- WebBrowserBase.cs
- WarningException.cs
- TreeNodeStyle.cs
- ConvertersCollection.cs
- Inline.cs
- MarkupObject.cs
- ContentPosition.cs
- PropertyPath.cs
- SpellerStatusTable.cs
- XhtmlConformanceSection.cs
- MetadataArtifactLoaderResource.cs
- XmlCharCheckingWriter.cs
- Line.cs
- IteratorFilter.cs
- FontStretchConverter.cs
- DateTime.cs
- WebMessageFormatHelper.cs
- HttpModuleCollection.cs
- EmissiveMaterial.cs
- StreamSecurityUpgradeInitiatorAsyncResult.cs
- ContentPlaceHolder.cs
- CellTreeNode.cs
- PathParser.cs
- NativeCppClassAttribute.cs
- HttpRawResponse.cs
- PeerApplicationLaunchInfo.cs
- DbProviderFactories.cs
- DataConnectionHelper.cs
- Cursor.cs
- SystemSounds.cs
- ChannelBuilder.cs
- EmbeddedObject.cs
- DataGridColumnHeadersPresenter.cs
- SafeHandle.cs
- JsonFormatGeneratorStatics.cs
- PerformanceCounterPermission.cs
- UniformGrid.cs
- StyleReferenceConverter.cs
- ConnectionInterfaceCollection.cs
- ProgressChangedEventArgs.cs
- TreeNodeClickEventArgs.cs
- WebPartActionVerb.cs
- DataTablePropertyDescriptor.cs
- SinglePhaseEnlistment.cs
- CreateSequenceResponse.cs
- RuntimeConfigLKG.cs
- GeneralTransform3DTo2D.cs
- WebPartCatalogAddVerb.cs
- SystemTcpConnection.cs
- PaginationProgressEventArgs.cs
- RemoteWebConfigurationHost.cs
- AccessedThroughPropertyAttribute.cs
- ConfigurationStrings.cs
- SynchronousReceiveBehavior.cs
- ScaleTransform.cs
- ControllableStoryboardAction.cs
- ColumnResizeAdorner.cs
- XmlAnyElementAttribute.cs
- Delegate.cs
- Configuration.cs
- UnmanagedMarshal.cs
- BindingFormattingDialog.cs
- ParallelTimeline.cs
- BitmapData.cs
- ListSourceHelper.cs
- SendParametersContent.cs
- PassportPrincipal.cs
- UnsafeNativeMethods.cs
- ScrollItemPattern.cs
- WindowsListViewItem.cs
- MessageHeader.cs
- ColumnResult.cs
- ProfileModule.cs
- DBConcurrencyException.cs