Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Generic / DebugView.cs / 1305376 / 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; using System.Diagnostics.Contracts; // // 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"); } Contract.EndContractBlock(); 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
- PointCollection.cs
- entityreference_tresulttype.cs
- DSASignatureDeformatter.cs
- ThicknessKeyFrameCollection.cs
- XmlDataImplementation.cs
- StackBuilderSink.cs
- ExecutedRoutedEventArgs.cs
- ViewBase.cs
- SerializationInfoEnumerator.cs
- PageCache.cs
- MouseCaptureWithinProperty.cs
- LicenseManager.cs
- PathTooLongException.cs
- MenuBindingsEditorForm.cs
- _NativeSSPI.cs
- PopupRootAutomationPeer.cs
- BinaryMethodMessage.cs
- BulletedListEventArgs.cs
- _HeaderInfo.cs
- RoleServiceManager.cs
- WindowsButton.cs
- DesignTimeTemplateParser.cs
- TextElement.cs
- BaseAsyncResult.cs
- OracleDataReader.cs
- ScrollEvent.cs
- TypefaceCollection.cs
- EncoderReplacementFallback.cs
- StorageComplexPropertyMapping.cs
- WebServiceEnumData.cs
- ContextMarshalException.cs
- Label.cs
- EdmProviderManifest.cs
- ServiceMetadataContractBehavior.cs
- UrlMappingCollection.cs
- StackOverflowException.cs
- ListViewSelectEventArgs.cs
- TextDecorations.cs
- HttpTransportSecurityElement.cs
- XmlSchemaRedefine.cs
- ValueTable.cs
- ByteRangeDownloader.cs
- Peer.cs
- RolePrincipal.cs
- BasicCommandTreeVisitor.cs
- HTTPAPI_VERSION.cs
- WebControl.cs
- Activator.cs
- TextBoxAutomationPeer.cs
- NamespaceList.cs
- ParallelDesigner.cs
- IERequestCache.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- VirtualPathUtility.cs
- Metafile.cs
- __Error.cs
- X509IssuerSerialKeyIdentifierClause.cs
- SmtpSection.cs
- TypeConvertions.cs
- CharEntityEncoderFallback.cs
- InvokeHandlers.cs
- CssTextWriter.cs
- NavigatorOutput.cs
- XmlExpressionDumper.cs
- Deflater.cs
- Double.cs
- VariableQuery.cs
- EmptyEnumerable.cs
- XmlSubtreeReader.cs
- DataSourceView.cs
- CommandBinding.cs
- DataRowComparer.cs
- ToolStripSeparatorRenderEventArgs.cs
- HtmlInputRadioButton.cs
- XmlDigitalSignatureProcessor.cs
- TextEffect.cs
- EncryptedKey.cs
- DatagridviewDisplayedBandsData.cs
- XhtmlConformanceSection.cs
- TemplateBindingExtensionConverter.cs
- XmlWrappingWriter.cs
- XomlSerializationHelpers.cs
- HelpProvider.cs
- PenThreadWorker.cs
- RenderingEventArgs.cs
- CodeGroup.cs
- DescendantOverDescendantQuery.cs
- FormattedTextSymbols.cs
- HtmlTableRowCollection.cs
- CursorConverter.cs
- CrossContextChannel.cs
- TreeNodeSelectionProcessor.cs
- SystemBrushes.cs
- LogRecordSequence.cs
- FieldAccessException.cs
- TerminatorSinks.cs
- ArrayListCollectionBase.cs
- ErrorFormatterPage.cs
- DictionaryEditChange.cs
- ConnectorMovedEventArgs.cs