2 // System.Diagnostics.InstanceDataCollection.cs
5 // Jonathan Pryor (jonpryor@vt.edu)
11 using System.Collections;
12 using System.Diagnostics;
14 namespace System.Diagnostics {
16 public class InstanceDataCollection : DictionaryBase {
18 private string counterName;
20 private static void CheckNull (object value, string name)
23 throw new ArgumentNullException (name);
26 // may throw ArgumentNullException
27 public InstanceDataCollection (string counterName)
29 CheckNull (counterName, "counterName");
30 this.counterName = counterName;
33 public string CounterName {
34 get {return counterName;}
37 // may throw ArgumentNullException
38 public InstanceData this [string instanceName] {
40 CheckNull (instanceName, "instanceName");
41 return (InstanceData) Dictionary [instanceName];
45 public ICollection Keys {
46 get {return Dictionary.Keys;}
49 public ICollection Values {
50 get {return Dictionary.Values;}
53 // may throw ArgumentNullException
54 public bool Contains (string instanceName)
56 CheckNull (instanceName, "instanceName");
57 return Dictionary.Contains (instanceName);
60 public void CopyTo (InstanceData[] instances, int index)
62 Dictionary.CopyTo (instances, index);