Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DecoderFallbackWithFailureFlag.cs
- DefaultTraceListener.cs
- ImpersonateTokenRef.cs
- TemplateBindingExtension.cs
- CellTreeNode.cs
- ISAPIApplicationHost.cs
- DocumentEventArgs.cs
- EndpointIdentityExtension.cs
- BuildResultCache.cs
- ProgressPage.cs
- ConnectionStringsExpressionBuilder.cs
- MasterPageCodeDomTreeGenerator.cs
- Empty.cs
- EntityTransaction.cs
- HtmlLink.cs
- CaseInsensitiveOrdinalStringComparer.cs
- DummyDataSource.cs
- DetailsView.cs
- Trustee.cs
- HttpCachePolicyBase.cs
- ToolStripItem.cs
- MouseEvent.cs
- PrimitiveDataContract.cs
- WorkflowViewElement.cs
- WindowsContainer.cs
- EncodingDataItem.cs
- IgnoreDataMemberAttribute.cs
- ScriptingAuthenticationServiceSection.cs
- HttpResponseInternalWrapper.cs
- EncodingInfo.cs
- _TimerThread.cs
- StringSource.cs
- HtmlTextArea.cs
- TextCompositionEventArgs.cs
- CaretElement.cs
- PopupRoot.cs
- HyperLinkField.cs
- DataColumnMappingCollection.cs
- Aggregates.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- FileLevelControlBuilderAttribute.cs
- ConfigurationValue.cs
- TextLine.cs
- WebBrowserHelper.cs
- StringOutput.cs
- InvariantComparer.cs
- _NativeSSPI.cs
- UnicodeEncoding.cs
- TextBounds.cs
- HashMembershipCondition.cs
- ColorAnimationBase.cs
- NetworkCredential.cs
- ResXResourceReader.cs
- TableItemProviderWrapper.cs
- ExpressionCopier.cs
- DataSourceSerializationException.cs
- GradientBrush.cs
- SessionEndedEventArgs.cs
- ObjectAnimationUsingKeyFrames.cs
- BaseConfigurationRecord.cs
- SoapAttributeOverrides.cs
- ContextStack.cs
- CodeTypeMemberCollection.cs
- RoamingStoreFileUtility.cs
- ComponentConverter.cs
- IncrementalHitTester.cs
- PeerReferralPolicy.cs
- XPathAxisIterator.cs
- HostingEnvironmentSection.cs
- FilePrompt.cs
- ContentFileHelper.cs
- SafeThreadHandle.cs
- EntityModelSchemaGenerator.cs
- DbConnectionPoolCounters.cs
- NonVisualControlAttribute.cs
- ApplicationManager.cs
- DependentTransaction.cs
- AttributeQuery.cs
- BindingWorker.cs
- ExtensibleClassFactory.cs
- SystemIPAddressInformation.cs
- FacetChecker.cs
- ObjectDataSourceMethodEditor.cs
- CompilerWrapper.cs
- AbstractSvcMapFileLoader.cs
- ExtensionSimplifierMarkupObject.cs
- CompModSwitches.cs
- DocumentViewer.cs
- IndexExpression.cs
- SafeLocalMemHandle.cs
- SendingRequestEventArgs.cs
- XmlAnyElementAttribute.cs
- StateDesignerConnector.cs
- StylusButton.cs
- ProcessManager.cs
- ApplicationBuildProvider.cs
- ClrPerspective.cs
- BooleanAnimationBase.cs
- Visual3D.cs
- PropertyIDSet.cs