//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Diagnostics { using System.Diagnostics; using System; using System.Collections; using System.Globalization; /// /// The collection returned from the method. /// that contains all the counter and instance data. /// The collection contains an InstanceDataCollection object for each counter. Each InstanceDataCollection /// object contains the performance data for all counters for that instance. In other words the data is /// indexed by counter name and then by instance name. /// public class InstanceDataCollectionCollection : DictionaryBase { [Obsolete("This constructor has been deprecated. Please use System.Diagnostics.PerformanceCounterCategory.ReadCategory() to get an instance of this collection instead. http://go.microsoft.com/fwlink/?linkid=14202")] public InstanceDataCollectionCollection() : base() {} /// /// [To be supplied.] /// public InstanceDataCollection this[string counterName] { get { if (counterName == null) throw new ArgumentNullException("counterName"); object objectName = counterName.ToLower(CultureInfo.InvariantCulture); return (InstanceDataCollection) Dictionary[objectName]; } } /// /// [To be supplied.] /// public ICollection Keys { get { return Dictionary.Keys; } } /// /// [To be supplied.] /// public ICollection Values { get { return Dictionary.Values; } } internal void Add(string counterName, InstanceDataCollection value) { object objectName = counterName.ToLower(CultureInfo.InvariantCulture); Dictionary.Add(objectName, value); } /// /// [To be supplied.] /// public bool Contains(string counterName) { if (counterName == null) throw new ArgumentNullException("counterName"); object objectName = counterName.ToLower(CultureInfo.InvariantCulture); return Dictionary.Contains(objectName); } /// /// [To be supplied.] /// public void CopyTo(InstanceDataCollection[] counters, int index) { Dictionary.Values.CopyTo((Array)counters, index); } } }