Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / 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; } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Sentence.cs
- MsmqOutputChannel.cs
- RenderingBiasValidation.cs
- XmlBinaryReaderSession.cs
- MatrixTransform3D.cs
- DecimalAnimationUsingKeyFrames.cs
- SqlClientPermission.cs
- SpecialFolderEnumConverter.cs
- HttpContextWrapper.cs
- ToolStripScrollButton.cs
- SelectorItemAutomationPeer.cs
- SettingsAttributes.cs
- AssociationType.cs
- XPathItem.cs
- QilPatternFactory.cs
- PowerStatus.cs
- SmiRecordBuffer.cs
- TextEmbeddedObject.cs
- Win32PrintDialog.cs
- PeerContact.cs
- QuaternionAnimation.cs
- FixedTextSelectionProcessor.cs
- SpeechUI.cs
- DynamicPhysicalDiscoSearcher.cs
- BitVector32.cs
- DocumentPageView.cs
- PropertyExpression.cs
- WizardPanel.cs
- DataServiceRequestArgs.cs
- SQLBytes.cs
- WebPartAddingEventArgs.cs
- HierarchicalDataSourceControl.cs
- SqlIdentifier.cs
- OutOfMemoryException.cs
- RegistrySecurity.cs
- VirtualPath.cs
- IOException.cs
- MarkupWriter.cs
- Renderer.cs
- DeferredSelectedIndexReference.cs
- QueryCacheManager.cs
- FastPropertyAccessor.cs
- BuilderPropertyEntry.cs
- TriState.cs
- DeobfuscatingStream.cs
- UseLicense.cs
- DefaultValueTypeConverter.cs
- LinkClickEvent.cs
- DiscoveryMessageProperty.cs
- CodeThrowExceptionStatement.cs
- SecurityContextCookieSerializer.cs
- Camera.cs
- XmlWriterTraceListener.cs
- WebPartPersonalization.cs
- TypeSystem.cs
- StrongName.cs
- DataServiceQueryOfT.cs
- DataObjectCopyingEventArgs.cs
- ScrollItemProviderWrapper.cs
- Membership.cs
- DivideByZeroException.cs
- ContainerParagraph.cs
- TemplateInstanceAttribute.cs
- _DomainName.cs
- XmlChildNodes.cs
- ResourcesChangeInfo.cs
- FixUpCollection.cs
- RectAnimationClockResource.cs
- ZipIOExtraField.cs
- MenuItemStyle.cs
- PublishLicense.cs
- StylusPlugInCollection.cs
- CapabilitiesPattern.cs
- TemplateField.cs
- Floater.cs
- CqlBlock.cs
- Filter.cs
- EpmCustomContentSerializer.cs
- ControlIdConverter.cs
- SystemColors.cs
- DesignerRegionCollection.cs
- TraceLog.cs
- WindowsSysHeader.cs
- MetadataArtifactLoaderResource.cs
- AutomationIdentifier.cs
- sqlinternaltransaction.cs
- TypeToStringValueConverter.cs
- ScriptReferenceEventArgs.cs
- TextRange.cs
- TextBox.cs
- Parser.cs
- StreamGeometryContext.cs
- StorageSetMapping.cs
- BitmapSizeOptions.cs
- Int32AnimationUsingKeyFrames.cs
- PropertyIDSet.cs
- FileSystemInfo.cs
- ChannelHandler.cs
- TraceLog.cs
- GroupBox.cs