Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PropertyMapper.cs
- ResolveDuplex11AsyncResult.cs
- GridViewEditEventArgs.cs
- NavigatorOutput.cs
- CompositeKey.cs
- Exceptions.cs
- DocumentGridContextMenu.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ButtonRenderer.cs
- StrokeCollection2.cs
- DynamicDataExtensions.cs
- TemplatePropertyEntry.cs
- CellPartitioner.cs
- DecimalAnimation.cs
- ProcessProtocolHandler.cs
- XmlDataImplementation.cs
- XmlIncludeAttribute.cs
- PrePrepareMethodAttribute.cs
- DoubleCollectionValueSerializer.cs
- ArgumentsParser.cs
- OracleNumber.cs
- XsltCompileContext.cs
- NavigationCommands.cs
- BindingValueChangedEventArgs.cs
- TextAutomationPeer.cs
- sqlpipe.cs
- Switch.cs
- TagPrefixAttribute.cs
- SessionState.cs
- XmlChoiceIdentifierAttribute.cs
- ExtensionElement.cs
- SqlFileStream.cs
- DocumentOrderQuery.cs
- Subtree.cs
- HtmlTextArea.cs
- Errors.cs
- PasswordRecoveryDesigner.cs
- EmptyStringExpandableObjectConverter.cs
- HtmlInputButton.cs
- BooleanExpr.cs
- CompensateDesigner.cs
- ContainerControl.cs
- ClientTargetSection.cs
- InstalledFontCollection.cs
- _NegoStream.cs
- AxParameterData.cs
- CancellationToken.cs
- HandlerMappingMemo.cs
- LoginDesignerUtil.cs
- StringHelper.cs
- Type.cs
- Page.cs
- StoreItemCollection.cs
- HttpListener.cs
- ResourceDictionaryCollection.cs
- JournalEntryListConverter.cs
- BitSet.cs
- HtmlHead.cs
- ListenerElementsCollection.cs
- ProxyElement.cs
- FlowPosition.cs
- ObjectItemCachedAssemblyLoader.cs
- SoapSchemaMember.cs
- ProcessHostFactoryHelper.cs
- RoleManagerEventArgs.cs
- PointLightBase.cs
- TextContainerChangeEventArgs.cs
- GridEntryCollection.cs
- XmlQueryCardinality.cs
- KeyValuePairs.cs
- WebSysDescriptionAttribute.cs
- SettingsSection.cs
- SafeUserTokenHandle.cs
- MembershipUser.cs
- XPathPatternParser.cs
- LOSFormatter.cs
- TargetFrameworkUtil.cs
- TransformerInfo.cs
- DataKeyCollection.cs
- MarshalByValueComponent.cs
- MexBindingElement.cs
- LogEntryUtils.cs
- ComponentRenameEvent.cs
- BatchParser.cs
- TableRowGroupCollection.cs
- NullRuntimeConfig.cs
- Tuple.cs
- ToolStripPanelRenderEventArgs.cs
- IndicCharClassifier.cs
- CurrencyWrapper.cs
- HttpPostedFile.cs
- CallbackValidatorAttribute.cs
- AsymmetricKeyExchangeDeformatter.cs
- AuthorizationSection.cs
- MonitorWrapper.cs
- InternalConfigSettingsFactory.cs
- PassportIdentity.cs
- DataGridTablesFactory.cs
- WindowsGraphics2.cs
- Buffer.cs