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
- NameSpaceEvent.cs
- RuleInfoComparer.cs
- DbConnectionStringBuilder.cs
- CellConstant.cs
- TakeQueryOptionExpression.cs
- HttpStreams.cs
- PrintPageEvent.cs
- DbConnectionFactory.cs
- SiteMapNodeItemEventArgs.cs
- streamingZipPartStream.cs
- TableLayoutRowStyleCollection.cs
- DeflateInput.cs
- ReferentialConstraint.cs
- PrinterSettings.cs
- TypeNameHelper.cs
- UnsettableComboBox.cs
- DelegatedStream.cs
- DomainLiteralReader.cs
- WebPartUtil.cs
- CroppedBitmap.cs
- ItemsPanelTemplate.cs
- DataGridViewCellValidatingEventArgs.cs
- XpsFontSerializationService.cs
- ProxyAttribute.cs
- ControlBindingsConverter.cs
- HttpConfigurationSystem.cs
- WorkflowServiceHostFactory.cs
- RemoteWebConfigurationHost.cs
- DocobjHost.cs
- XmlComment.cs
- RegexGroup.cs
- HandlerBase.cs
- PlanCompilerUtil.cs
- SoapEnumAttribute.cs
- CodeMethodReturnStatement.cs
- RowToParametersTransformer.cs
- ZipIOLocalFileHeader.cs
- hwndwrapper.cs
- Thickness.cs
- HealthMonitoringSection.cs
- TCPClient.cs
- BitmapEffectCollection.cs
- ToolBarOverflowPanel.cs
- MouseButtonEventArgs.cs
- RichTextBox.cs
- EventLogInformation.cs
- HttpApplicationFactory.cs
- TracingConnectionInitiator.cs
- UnitySerializationHolder.cs
- UnmanagedBitmapWrapper.cs
- TypefaceMetricsCache.cs
- FrameworkReadOnlyPropertyMetadata.cs
- GatewayIPAddressInformationCollection.cs
- HyperLinkColumn.cs
- XmlUnspecifiedAttribute.cs
- Int16Storage.cs
- WaitForChangedResult.cs
- Part.cs
- Stream.cs
- unsafeIndexingFilterStream.cs
- XmlBaseReader.cs
- KeyInstance.cs
- ZipFileInfoCollection.cs
- HtmlInputButton.cs
- ErrorActivity.cs
- DeferredReference.cs
- designeractionbehavior.cs
- SystemIPv6InterfaceProperties.cs
- SHA384Managed.cs
- SlotInfo.cs
- PresentationTraceSources.cs
- IPHostEntry.cs
- EntitySetBase.cs
- RegexCompilationInfo.cs
- ExtensionFile.cs
- XPathNavigator.cs
- SecurityElement.cs
- DataGridViewUtilities.cs
- Timer.cs
- ShapingEngine.cs
- XmlDataSource.cs
- ContentControl.cs
- LayoutTableCell.cs
- HashLookup.cs
- EventLog.cs
- ReadonlyMessageFilter.cs
- FlowDocumentView.cs
- AsynchronousChannelMergeEnumerator.cs
- FrameDimension.cs
- CryptoStream.cs
- JsonFormatWriterGenerator.cs
- TypeTypeConverter.cs
- InputEventArgs.cs
- PenThreadPool.cs
- GenericIdentity.cs
- Transform.cs
- TextSelectionHighlightLayer.cs
- Table.cs
- HtmlTableCell.cs
- ColumnMapVisitor.cs