2 // System.Xml.NameTable.cs
4 // Author: Duncan Mak (duncan@ximian.com)
10 using System.Collections;
14 public class NameTable : XmlNameTable
23 table = new Hashtable ();
27 public override string Add (string key)
29 if (table.ContainsKey (key))
30 return (string) table [key];
32 return table.Add (key.GetHashCode (), key);
35 public override string Add (char[] key, int start, int len)
37 if (((0 > start) && (start >= key.Length))
38 || ((0 > len) && (len >= key.Length - len)))
39 throw new IndexOutOfRangeException ("The Index is out of range.");
44 string item = new string (key, start, len);
49 public override string Get (string key)
51 if (!(table.ContainsKey (key)))
54 return (string) table [key];
58 public override string Get (char[] array, int offset, int length)
60 if (((0 > offset) && (offset >= array.Length))
61 || ((0 > length) && (length >= array.Length - offset)))
62 throw new IndexOutOfRangeException ("The Index is out of range.");
67 string item = new string (array, offset, length);