Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- RegexParser.cs
- WaveHeader.cs
- HttpCookiesSection.cs
- BindableAttribute.cs
- XmlSchemaSubstitutionGroup.cs
- DataBindingValueUIHandler.cs
- TypedDataSourceCodeGenerator.cs
- IPAddressCollection.cs
- ObjectResult.cs
- EntityDataReader.cs
- Decimal.cs
- HexParser.cs
- ListViewEditEventArgs.cs
- RoutedPropertyChangedEventArgs.cs
- ADMembershipProvider.cs
- StringAttributeCollection.cs
- EnvironmentPermission.cs
- TraceLog.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TrustManagerMoreInformation.cs
- TextRangeBase.cs
- Selection.cs
- MatrixAnimationBase.cs
- ClientRolePrincipal.cs
- odbcmetadatacolumnnames.cs
- PasswordPropertyTextAttribute.cs
- SafeFileMappingHandle.cs
- HtmlControl.cs
- DataGridViewMethods.cs
- KerberosTicketHashIdentifierClause.cs
- FrameworkElement.cs
- LockRenewalTask.cs
- RangeEnumerable.cs
- TrackingDataItem.cs
- ChannelFactoryRefCache.cs
- SaveFileDialog.cs
- SafeNativeMethods.cs
- DataConnectionHelper.cs
- QilStrConcat.cs
- CornerRadiusConverter.cs
- AppDomain.cs
- ObjectPropertyMapping.cs
- CustomCategoryAttribute.cs
- TcpClientChannel.cs
- RoutedUICommand.cs
- TreeWalker.cs
- GroupBoxAutomationPeer.cs
- RemoteTokenFactory.cs
- TextElementAutomationPeer.cs
- XmlObjectSerializerWriteContext.cs
- SweepDirectionValidation.cs
- Schedule.cs
- Rotation3DKeyFrameCollection.cs
- HttpCookie.cs
- TdsParserSafeHandles.cs
- DbProviderFactory.cs
- Label.cs
- ButtonRenderer.cs
- TextViewSelectionProcessor.cs
- CursorConverter.cs
- SecurityAlgorithmSuite.cs
- ExceptQueryOperator.cs
- EntityDataSourceEntitySetNameItem.cs
- mda.cs
- PartialList.cs
- MatrixTransform.cs
- FirstMatchCodeGroup.cs
- DesignerActionVerbItem.cs
- StoreContentChangedEventArgs.cs
- CodeAttachEventStatement.cs
- PostBackOptions.cs
- CapabilitiesRule.cs
- TypeDescriptor.cs
- DbMetaDataCollectionNames.cs
- WebZoneDesigner.cs
- ComponentResourceKeyConverter.cs
- DocumentApplicationJournalEntry.cs
- ByteStorage.cs
- GridViewItemAutomationPeer.cs
- FormsAuthenticationCredentials.cs
- WmiInstallComponent.cs
- BitmapScalingModeValidation.cs
- ExecutorLocksHeldException.cs
- SourceLocationProvider.cs
- PtsPage.cs
- X500Name.cs
- XamlFigureLengthSerializer.cs
- HttpInputStream.cs
- EventMappingSettings.cs
- ThemeDictionaryExtension.cs
- NonVisualControlAttribute.cs
- TagPrefixAttribute.cs
- XamlTypeMapperSchemaContext.cs
- ValidatorUtils.cs
- ZipIOExtraFieldPaddingElement.cs
- FlowLayoutPanel.cs
- StateWorkerRequest.cs
- DesignerUtility.cs
- AuthenticationServiceManager.cs
- TiffBitmapDecoder.cs