André W. schrieb:
> Hallo ihr,
> besten Dank euch jedenfalls schonmal für die Tipps!
>
1 | Gebäude gebäude = Activator.CreateInstance(typ) as Gebäude;
|
> hat der Compiler geschluckt;
Hehehe...
Du benutzt hier Reflection und Konsorten, da schluckt der Compiler
einiges was dramatisch kaputt sein kann, sehr übles Zeug. ;-)
> Leider scheint er allerdings noch kein Objekt der Klasse Gebäude erzeugt
> zu haben:
>
> Versucht man eine Zeile weiter auf das neue Objekt zuzugreifen...
>
>
1 | gebäude.set_name ("Musterhaus1")
|
>
> ...wird eine NullReferenceException ausgegeben ("Der Objektverweis wurde
> nicht auf eine Objektinstanz festgelegt.")
So ist der Operator "as" eben definiert, wenn sein linker Operand vom
rechts angegebenen (Laufzeit-)Typ ist gibt er den entsprechend gecastet
zurück, sonst Null.
D.h. "Activator.CreateInstance(typ)" hat eine Instanz vom falschen Typ
erzeugt oder selber Null zurückgegeben.
Vielleicht hilft's beim Suchen.