> Ich benötige eine Hashtable deren Inhalt zur kompletten > Laufzeit gleich bleibt. > > In dieser sind Werte hinterlegt - die ich immer wieder > benötige. Diese ändern sich zur kompletten Laufzeit nicht! > > Wie macht man so was? Weil einmal muß man ja die Hashtable > mal initialisieren -und mit den Daten befüllen? Aber wie kann > ich die dann als Konstante deklarieren? Geht das überhaupt, > oder bin ich absolut auf dem Holzweg?
Erbe von Hashtable eine neue Klasse ReadOnlyHashtable und überschreibe * isReadOnly und isFixedSize, damit es true zurückgibt * Add, Clear und Remove, damit es eine NotSupportedException wirft * Clone wie gleich besprochen. Jetzt hast Du eine Readonly-HashTable, aber keinen Wert drin. Kein Problem: Erzeuge dir nur einen Konstruktor: public Hashtable(IDictionary d) : base(d) {} Damit ist es Dir nun möglich eine normale Hashtable mit Werten zu füllen: HashTable ht = new HashTable(), // mit Werten füll... Und dann die Werte in Deine Hashtable zu übernehmen: ReadOnlyHashTable roht = ReadOnlyHashTable(ht); Die alte Hashtable kannst Du jetzt "wegschmeissen" und nur die Read-Only-Variante rausgeben. Jetzt gibt es noch die Clone-Methode zu besprechen. Damit die nicht eine änderbare Hashtable erzeugt, musst Du diese auch überschreiben... Etwa so muss dann der Code aussehen: return new ReadOnlyHashTable(this); Gruss, Claudius _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net