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
- ApplicationInterop.cs
- CapabilitiesPattern.cs
- SemaphoreSecurity.cs
- PointConverter.cs
- BasicBrowserDialog.cs
- Classification.cs
- RawStylusActions.cs
- InsufficientMemoryException.cs
- OracleTimeSpan.cs
- WebPartCancelEventArgs.cs
- ModuleBuilder.cs
- RNGCryptoServiceProvider.cs
- ListSortDescriptionCollection.cs
- PermissionListSet.cs
- WebControl.cs
- DataGridViewRowStateChangedEventArgs.cs
- PointF.cs
- SqlUnionizer.cs
- CollectionViewSource.cs
- DataSourceXmlSerializer.cs
- ItemType.cs
- AutomationEventArgs.cs
- RegexEditorDialog.cs
- OleDbError.cs
- AffineTransform3D.cs
- InlineObject.cs
- GotoExpression.cs
- ManagementOperationWatcher.cs
- NamedPipeProcessProtocolHandler.cs
- MultiDataTrigger.cs
- XPathNodeList.cs
- CoTaskMemUnicodeSafeHandle.cs
- PathStreamGeometryContext.cs
- Label.cs
- ServiceModelConfigurationElementCollection.cs
- Column.cs
- Codec.cs
- SqlUtils.cs
- DataGridViewCellCancelEventArgs.cs
- EntityStoreSchemaGenerator.cs
- WebPartMenuStyle.cs
- BlurBitmapEffect.cs
- XmlNamedNodeMap.cs
- InArgument.cs
- UriTemplateTrieNode.cs
- InputScopeNameConverter.cs
- CircleHotSpot.cs
- TextTreeTextElementNode.cs
- CallbackWrapper.cs
- OperationParameterInfo.cs
- InfoCardConstants.cs
- NavigationEventArgs.cs
- CompositeCollection.cs
- SerializationInfoEnumerator.cs
- XmlAttributes.cs
- SafeCloseHandleCritical.cs
- DataContract.cs
- CodeDirectionExpression.cs
- MenuItemStyleCollectionEditor.cs
- XPathNode.cs
- SqlBulkCopyColumnMapping.cs
- PreviewPageInfo.cs
- PeerContact.cs
- VectorCollectionConverter.cs
- ISAPIApplicationHost.cs
- Metafile.cs
- GetReadStreamResult.cs
- DateTimeFormat.cs
- JsonClassDataContract.cs
- DesignBindingConverter.cs
- Range.cs
- ZipArchive.cs
- RegisteredDisposeScript.cs
- CompletedAsyncResult.cs
- QueryStringParameter.cs
- DataGridViewCellStateChangedEventArgs.cs
- XmlSchemaSimpleContentExtension.cs
- StringConverter.cs
- Int32Storage.cs
- TypeElementCollection.cs
- SymmetricAlgorithm.cs
- CodeMethodInvokeExpression.cs
- FixedPage.cs
- DateTimeUtil.cs
- TextBlock.cs
- CompensationHandlingFilter.cs
- SmiSettersStream.cs
- StoreItemCollection.Loader.cs
- ContextQuery.cs
- _AutoWebProxyScriptHelper.cs
- _NegoStream.cs
- ShutDownListener.cs
- EastAsianLunisolarCalendar.cs
- TemplateControlParser.cs
- ConfigurationManagerHelper.cs
- XmlDictionary.cs
- WindowsAuthenticationEventArgs.cs
- TextRange.cs
- DependencyPropertyKey.cs
- IDictionary.cs