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
- CompositeFontFamily.cs
- ContextStaticAttribute.cs
- ContainerActivationHelper.cs
- AsymmetricSignatureFormatter.cs
- BackStopAuthenticationModule.cs
- StateMachineAction.cs
- BufferedWebEventProvider.cs
- OptimalBreakSession.cs
- LinkButton.cs
- SchemaAttDef.cs
- PolicyUnit.cs
- AddInStore.cs
- EventLogTraceListener.cs
- HtmlElementEventArgs.cs
- OutputCacheProfileCollection.cs
- OdbcConnectionPoolProviderInfo.cs
- ParserExtension.cs
- Graphics.cs
- CheckBoxBaseAdapter.cs
- ActivatedMessageQueue.cs
- AssemblyFilter.cs
- ListCardsInFileRequest.cs
- CredentialCache.cs
- HwndSubclass.cs
- CheckableControlBaseAdapter.cs
- JsonQNameDataContract.cs
- UdpSocket.cs
- SerializationInfoEnumerator.cs
- XXXOnTypeBuilderInstantiation.cs
- DataGridViewImageCell.cs
- EncoderExceptionFallback.cs
- ReachPageContentSerializerAsync.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- AuthorizationSection.cs
- TableChangeProcessor.cs
- MaskDesignerDialog.cs
- AmbientProperties.cs
- baseaxisquery.cs
- SqlDataSourceView.cs
- PolyBezierSegment.cs
- AssertSection.cs
- PrivilegeNotHeldException.cs
- CssClassPropertyAttribute.cs
- ArrayWithOffset.cs
- Permission.cs
- TraceUtility.cs
- TextBlock.cs
- DrawingGroup.cs
- SafeNativeMethodsCLR.cs
- FontStyles.cs
- SafeFileMappingHandle.cs
- HtmlHead.cs
- GeometryCombineModeValidation.cs
- SapiInterop.cs
- arclist.cs
- SystemInfo.cs
- DataGridViewComboBoxEditingControl.cs
- PriorityQueue.cs
- StsCommunicationException.cs
- FileRegion.cs
- TypeLibraryHelper.cs
- QualificationDataItem.cs
- ProfessionalColorTable.cs
- XamlFigureLengthSerializer.cs
- StorageBasedPackageProperties.cs
- ProjectionPruner.cs
- XPathEmptyIterator.cs
- IsolatedStorageFile.cs
- PerformanceCounterPermission.cs
- ToolboxItemFilterAttribute.cs
- _BufferOffsetSize.cs
- FileInfo.cs
- LocalClientSecuritySettingsElement.cs
- SystemIcmpV4Statistics.cs
- Image.cs
- JoinTreeSlot.cs
- ViewBox.cs
- Codec.cs
- SplayTreeNode.cs
- MatrixUtil.cs
- BuilderInfo.cs
- FragmentNavigationEventArgs.cs
- BindUriHelper.cs
- SmtpFailedRecipientException.cs
- DiagnosticTrace.cs
- ComponentSerializationService.cs
- BaseCodePageEncoding.cs
- Visitor.cs
- WorkflowPersistenceService.cs
- DesignerAdapterAttribute.cs
- ProcessInfo.cs
- Converter.cs
- MemberProjectedSlot.cs
- KnownBoxes.cs
- WebPartAuthorizationEventArgs.cs
- WebContext.cs
- EmptyEnumerator.cs
- QilInvokeEarlyBound.cs
- CachedBitmap.cs
- SessionEndingEventArgs.cs