Code:
/ DotNET / DotNET / 8.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
- XmlMessageFormatter.cs
- HtmlWindow.cs
- SystemPens.cs
- WSHttpBindingBaseElement.cs
- TrustLevelCollection.cs
- DSACryptoServiceProvider.cs
- BufferedWebEventProvider.cs
- ExceptionHelpers.cs
- __ConsoleStream.cs
- Vector3DAnimationUsingKeyFrames.cs
- AspNetHostingPermission.cs
- DropDownList.cs
- DockingAttribute.cs
- serverconfig.cs
- CompensationTokenData.cs
- EventEntry.cs
- UmAlQuraCalendar.cs
- Array.cs
- SqlBulkCopyColumnMapping.cs
- Model3D.cs
- QilExpression.cs
- Pair.cs
- ComponentResourceManager.cs
- PocoPropertyAccessorStrategy.cs
- GridView.cs
- DefaultValueTypeConverter.cs
- AppDomainUnloadedException.cs
- BaseAddressElementCollection.cs
- IgnoreDataMemberAttribute.cs
- DataGridPreparingCellForEditEventArgs.cs
- RegexRunnerFactory.cs
- SqlConnectionFactory.cs
- SqlEnums.cs
- PersonalizablePropertyEntry.cs
- RequestChannelBinder.cs
- returneventsaver.cs
- KnownBoxes.cs
- InternalPermissions.cs
- TemplateBindingExtension.cs
- IntSecurity.cs
- CommonXSendMessage.cs
- CodeCompiler.cs
- HandlerFactoryWrapper.cs
- DesignerRegionMouseEventArgs.cs
- ScopelessEnumAttribute.cs
- TemplateControlBuildProvider.cs
- FormViewInsertedEventArgs.cs
- ResourceExpression.cs
- CompilerScope.Storage.cs
- ServicePointManagerElement.cs
- ClientConvert.cs
- ComplexType.cs
- QuestionEventArgs.cs
- CheckPair.cs
- Enum.cs
- RelatedCurrencyManager.cs
- XMLSyntaxException.cs
- BindingMAnagerBase.cs
- ControlPropertyNameConverter.cs
- DbParameterCollectionHelper.cs
- ClientSettingsSection.cs
- CreateParams.cs
- SQLBytesStorage.cs
- RubberbandSelector.cs
- XmlUtilWriter.cs
- VectorCollectionValueSerializer.cs
- TableTextElementCollectionInternal.cs
- Int64.cs
- NegotiateStream.cs
- DataProtectionSecurityStateEncoder.cs
- Wildcard.cs
- LocalIdCollection.cs
- NamespaceCollection.cs
- RoutedPropertyChangedEventArgs.cs
- DataGridViewCellLinkedList.cs
- ToolBar.cs
- IndexOutOfRangeException.cs
- WebPartsPersonalizationAuthorization.cs
- ImageCodecInfoPrivate.cs
- PolicyUnit.cs
- Condition.cs
- StringValidator.cs
- ObjRef.cs
- Literal.cs
- ListItem.cs
- LogicalExpr.cs
- RoutedCommand.cs
- followingquery.cs
- PageStatePersister.cs
- SmtpNegotiateAuthenticationModule.cs
- HttpModulesSection.cs
- InfoCardTraceRecord.cs
- SqlUserDefinedTypeAttribute.cs
- storepermissionattribute.cs
- XmlComment.cs
- XmlSchemaSubstitutionGroup.cs
- PropertyMappingExceptionEventArgs.cs
- SafeFileMappingHandle.cs
- HtmlTextArea.cs
- ToggleButton.cs