Code:
/ FX-1434 / FX-1434 / 1.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
- XPathMessageFilterElementComparer.cs
- QilInvokeEarlyBound.cs
- ExecutedRoutedEventArgs.cs
- DLinqColumnProvider.cs
- ToolStripManager.cs
- MetaModel.cs
- AudienceUriMode.cs
- DetailsViewPagerRow.cs
- PartialTrustVisibleAssembliesSection.cs
- TrackBarDesigner.cs
- HtmlElement.cs
- NotImplementedException.cs
- CheckBoxField.cs
- PointCollectionValueSerializer.cs
- ValidationErrorEventArgs.cs
- HttpModuleActionCollection.cs
- References.cs
- SoapDocumentMethodAttribute.cs
- InfoCardKeyedHashAlgorithm.cs
- XPathNavigator.cs
- GeometryGroup.cs
- Tuple.cs
- DataTableMapping.cs
- TreeView.cs
- WindowsIPAddress.cs
- CustomAttributeBuilder.cs
- Decoder.cs
- Rect.cs
- XpsTokenContext.cs
- _TimerThread.cs
- AsyncOperation.cs
- InstalledFontCollection.cs
- FormatConvertedBitmap.cs
- MustUnderstandSoapException.cs
- PersonalizationDictionary.cs
- DeploymentSection.cs
- CssTextWriter.cs
- DeploymentSection.cs
- OracleFactory.cs
- CodeGenerator.cs
- WebPartManagerInternals.cs
- QilXmlReader.cs
- ColorConvertedBitmapExtension.cs
- WebUtil.cs
- PersonalizationProvider.cs
- ControlType.cs
- XamlReaderHelper.cs
- DbInsertCommandTree.cs
- FontCollection.cs
- ServiceHostingEnvironmentSection.cs
- IPipelineRuntime.cs
- SessionPageStateSection.cs
- ClrPerspective.cs
- ContextMarshalException.cs
- DateTimeStorage.cs
- DBConnection.cs
- FaultBookmark.cs
- ServiceInfo.cs
- CommandPlan.cs
- RegexRunnerFactory.cs
- SplitContainerDesigner.cs
- EventToken.cs
- Utility.cs
- CacheMemory.cs
- LineSegment.cs
- WeakReferenceEnumerator.cs
- DesignerSerializationManager.cs
- _IPv6Address.cs
- SqlDataSourceCache.cs
- MethodBuilderInstantiation.cs
- ObjectDataSourceMethodEventArgs.cs
- StylusPointProperty.cs
- DataRecordInternal.cs
- StrokeSerializer.cs
- TextServicesDisplayAttribute.cs
- SerializerDescriptor.cs
- SafeBuffer.cs
- DocumentViewerBase.cs
- FontFamilyValueSerializer.cs
- DataContractJsonSerializerOperationBehavior.cs
- HierarchicalDataTemplate.cs
- SafeReadContext.cs
- VBCodeProvider.cs
- AffineTransform3D.cs
- DoubleAnimationClockResource.cs
- HtmlPageAdapter.cs
- ControlUtil.cs
- XamlSerializationHelper.cs
- DataGridPagerStyle.cs
- PanningMessageFilter.cs
- DataKeyCollection.cs
- XmlSchemaImporter.cs
- LinqMaximalSubtreeNominator.cs
- ListManagerBindingsCollection.cs
- WebPartZoneDesigner.cs
- SafeNativeMethods.cs
- FixedPageAutomationPeer.cs
- LicenseContext.cs
- RuntimeCompatibilityAttribute.cs
- SslStream.cs