//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Diagnostics { using System; using System.Diagnostics; using System.Collections; using System.Globalization; /// /// A collection containing all the instance data for a counter. This collection is contained in the /// when using the /// method. /// public class InstanceDataCollection : DictionaryBase { private string counterName; /// /// [To be supplied.] /// [Obsolete("This constructor has been deprecated. Please use System.Diagnostics.InstanceDataCollectionCollection.get_Item to get an instance of this collection instead. http://go.microsoft.com/fwlink/?linkid=14202")] public InstanceDataCollection(string counterName) { if (counterName == null) throw new ArgumentNullException("counterName"); this.counterName = counterName; } /// /// [To be supplied.] /// public string CounterName { get { return counterName; } } /// /// [To be supplied.] /// public ICollection Keys { get { return Dictionary.Keys; } } /// /// [To be supplied.] /// public ICollection Values { get { return Dictionary.Values; } } /// /// [To be supplied.] /// public InstanceData this[string instanceName] { get { if (instanceName == null) throw new ArgumentNullException("instanceName"); if (instanceName.Length == 0) instanceName = PerformanceCounterLib.SingleInstanceName; object objectName = instanceName.ToLower(CultureInfo.InvariantCulture); return (InstanceData) Dictionary[objectName]; } } internal void Add(string instanceName, InstanceData value) { object objectName = instanceName.ToLower(CultureInfo.InvariantCulture); Dictionary.Add(objectName, value); } /// /// [To be supplied.] /// public bool Contains(string instanceName) { if (instanceName == null) throw new ArgumentNullException("instanceName"); object objectName = instanceName.ToLower(CultureInfo.InvariantCulture); return Dictionary.Contains(objectName); } /// /// [To be supplied.] /// public void CopyTo(InstanceData[] instances, int index) { Dictionary.Values.CopyTo((Array)instances, index); } } }