ArrayList in PrpertyGrid Read only setzen
-
Hi nochmal, tut mir leid, dass ich heute so nerve
aber eine Frage habe ich noch ich habe ein PropertyGrid, das will ich als Readonly Feld anzeigen. Dazu mache ich folgendes:
spec = new PropertySpec("Anzahl", typeof(ArrayList), "general", "Anzahl an Teilen"); spec.Attributes = new Attribute[] { new System.ComponentModel.ReadOnlyAttribute(true) }; bag.Properties.Add(spec);
bag ist mein Propertybag.
Geht bei allen anderen Typen einwandfrei, aber wenn ich es mit der Arraylist machen kann ich immernoch schreibend drauf zugreifen, wieso denn das??
-
Ich nehme an die Situation ist folgende?
public object Element { get { return my_arrayList; } }
Dann kann die ArrayList my_arrayList nicht verändert werden. Das heisst aber nur dass die Referenz nicht verbogen werden kann. Um auf die ArrayList schreibend zuzugreifen braucht er die Referenz nur lesend bekommen.
Element = my_otherList; // klappt nicht ((ArrayList)Element).Remove(1); // klappt, weil: ArrayList list = (ArrayList)Element; // readonly-Zugriff auf Element list.Remove(1); // list ist aber nicht konstant