Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- AlternationConverter.cs
- InternalConfigSettingsFactory.cs
- ColorMatrix.cs
- IPPacketInformation.cs
- MouseBinding.cs
- HelloOperation11AsyncResult.cs
- OracleColumn.cs
- UnsignedPublishLicense.cs
- AsyncPostBackTrigger.cs
- filewebresponse.cs
- BuildProviderUtils.cs
- DataGridPageChangedEventArgs.cs
- SQLGuidStorage.cs
- ADMembershipProvider.cs
- UpWmlMobileTextWriter.cs
- GenerateScriptTypeAttribute.cs
- CodeArgumentReferenceExpression.cs
- Comparer.cs
- DbParameterCollection.cs
- SmtpCommands.cs
- BasicExpandProvider.cs
- CodeArrayIndexerExpression.cs
- XmlDataDocument.cs
- IncomingWebRequestContext.cs
- SystemDiagnosticsSection.cs
- EntityDataSourceView.cs
- XmlConvert.cs
- VariantWrapper.cs
- NamedPipeTransportElement.cs
- LassoSelectionBehavior.cs
- storepermission.cs
- HttpModulesSection.cs
- MetadataItemEmitter.cs
- ListItemParagraph.cs
- BitmapCodecInfo.cs
- TemplateContentLoader.cs
- DataGridViewSelectedColumnCollection.cs
- ContentTypeSettingClientMessageFormatter.cs
- jithelpers.cs
- DesignerLoader.cs
- ConstructorNeedsTagAttribute.cs
- ResolveNextArgumentWorkItem.cs
- MembershipUser.cs
- EncoderParameter.cs
- FormatterConverter.cs
- WebConfigurationHostFileChange.cs
- ProviderCommandInfoUtils.cs
- DataGridViewBindingCompleteEventArgs.cs
- CompilationPass2Task.cs
- WebServiceHostFactory.cs
- SmtpFailedRecipientsException.cs
- Emitter.cs
- SoapElementAttribute.cs
- DBProviderConfigurationHandler.cs
- WorkflowIdleBehavior.cs
- ServiceDescriptions.cs
- AutoGeneratedFieldProperties.cs
- ConditionalBranch.cs
- VirtualizingStackPanel.cs
- PreviewPageInfo.cs
- TrackingProfile.cs
- MULTI_QI.cs
- MethodExpr.cs
- PropertyValue.cs
- PageRequestManager.cs
- RotationValidation.cs
- StorageBasedPackageProperties.cs
- XPathDescendantIterator.cs
- TextEditorMouse.cs
- ParenExpr.cs
- ContractUtils.cs
- DefaultPrintController.cs
- SqlCacheDependencyDatabaseCollection.cs
- TextBoxBase.cs
- WindowsToolbarAsMenu.cs
- DataGridViewUtilities.cs
- DebugManager.cs
- Logging.cs
- ModuleElement.cs
- ArglessEventHandlerProxy.cs
- SymmetricKey.cs
- XmlCustomFormatter.cs
- DbProviderServices.cs
- LocalServiceSecuritySettingsElement.cs
- ChannelServices.cs
- CoTaskMemUnicodeSafeHandle.cs
- ListViewInsertedEventArgs.cs
- BindingsSection.cs
- ContextInformation.cs
- ModuleElement.cs
- LogicalChannel.cs
- InvocationExpression.cs
- XPathAncestorQuery.cs
- Vector3DKeyFrameCollection.cs
- InertiaExpansionBehavior.cs
- ProcessThreadCollection.cs
- ConfigurationValue.cs
- UrlMappingsSection.cs
- RegexRunnerFactory.cs
- List.cs