moin,
ich habe foglendes problem:
ich muss aus einer dll eine klasse laden was ja mit reflections recht einfach ist. nun hatte ich gedacht das folgendes geht:
ich dachte nun das ich die klasse B aus einem assembly laden kann und einem object vom typ A zuweisen kann. genau genommen geht das auch, nur wenn ich "arbeite()" aufrufe wird die methode der klasse A aufgerufen obwohl mir der debugger klar anzeigt, dass das objekt eigentlich von der klasse B ist.
so in etwa sah das im programm code aus:
im sinne der polymorphie sollte nun Objekt.arbeite() die methode von B aufrufen was aber wie schon gesagt nicht passiert. Der Typ aus der assembly datei wird in meinem programm auch nicht bekannt sein, dh ich kann auch nicht direkt ein objekt vom typ B erzeugen
hat jemand eine erklärung und vielleicht aucheine lösung für mein problem?
mfg
Zebes
ich habe foglendes problem:
ich muss aus einer dll eine klasse laden was ja mit reflections recht einfach ist. nun hatte ich gedacht das folgendes geht:
Code:
class A { public void arbeite() { //tue was } } class B : A { public void arbeite() { //tue was anderes } }
so in etwa sah das im programm code aus:
Code:
Assembly a = Assembly.LoadFile("b.ll") Type[] t = a.GetTypes()//ka ob die methode so hies A Objekt = (A)a.CreateInstance(t[0].to_string());
hat jemand eine erklärung und vielleicht aucheine lösung für mein problem?
mfg
Zebes
Comment