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
- TypeResolver.cs
- AuthenticationManager.cs
- ProfessionalColors.cs
- WebCategoryAttribute.cs
- CachingHintValidation.cs
- ThrowHelper.cs
- SessionState.cs
- _ServiceNameStore.cs
- MailWriter.cs
- ApplicationServiceManager.cs
- IssuedTokenServiceElement.cs
- BaseAppDomainProtocolHandler.cs
- ComponentDispatcher.cs
- _SSPISessionCache.cs
- DtdParser.cs
- ControlBuilderAttribute.cs
- LoginCancelEventArgs.cs
- PropertySegmentSerializer.cs
- Lookup.cs
- NativeActivityMetadata.cs
- BuildProvider.cs
- DeferredBinaryDeserializerExtension.cs
- ContractInstanceProvider.cs
- XmlChildNodes.cs
- ScriptControlDescriptor.cs
- MetadataItemEmitter.cs
- StickyNoteHelper.cs
- ValidationService.cs
- FileCodeGroup.cs
- ConnectionInterfaceCollection.cs
- IListConverters.cs
- AutoGeneratedFieldProperties.cs
- OpenFileDialog.cs
- BatchParser.cs
- validation.cs
- TextAnchor.cs
- UrlRoutingModule.cs
- SafeThemeHandle.cs
- DataGridClipboardHelper.cs
- GridEntry.cs
- HwndSource.cs
- propertytag.cs
- BuiltInExpr.cs
- Literal.cs
- ArcSegment.cs
- HwndProxyElementProvider.cs
- ZoneMembershipCondition.cs
- XmlDataSource.cs
- DefaultBinder.cs
- XsdDataContractImporter.cs
- CodeSnippetCompileUnit.cs
- DocumentXmlWriter.cs
- DataTemplateSelector.cs
- KeyedCollection.cs
- GatewayDefinition.cs
- GridErrorDlg.cs
- EntityCodeGenerator.cs
- TextPenaltyModule.cs
- DataException.cs
- TraceXPathNavigator.cs
- DataGridTableStyleMappingNameEditor.cs
- TimeSpanSecondsConverter.cs
- ExceptionAggregator.cs
- GridViewPageEventArgs.cs
- FlowNode.cs
- PaperSize.cs
- FlowDocumentReader.cs
- IssuanceLicense.cs
- TextControl.cs
- DocumentViewer.cs
- WebBrowserEvent.cs
- _StreamFramer.cs
- securitycriticaldataClass.cs
- Int32Storage.cs
- FrameworkContentElement.cs
- CompilerGeneratedAttribute.cs
- DynamicEntity.cs
- RelativeSource.cs
- HtmlContainerControl.cs
- DisplayNameAttribute.cs
- SettingsPropertyWrongTypeException.cs
- CompilerInfo.cs
- StrokeCollection2.cs
- XmlSchemaAnnotation.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ValidationRule.cs
- autovalidator.cs
- SerializerWriterEventHandlers.cs
- FlowDocumentPageViewerAutomationPeer.cs
- AssemblySettingAttributes.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- XPathScanner.cs
- X509Certificate2Collection.cs
- HttpServerUtilityBase.cs
- ZipIOLocalFileBlock.cs
- DesignerTransactionCloseEvent.cs
- Figure.cs
- PointLightBase.cs
- Padding.cs
- LookupBindingPropertiesAttribute.cs