Hallo leute,
ich erzeuge mir per Reflection eine Instanz und will eine Mehtode von dieser aufrufen.
Leider kommt immer nur null zurück.
Assembly ass = Assembly.Load(assemblyBytes);
Type buttonType = null;
foreach (Type type in ass.ExportedTypes) {
if (type.Name == "ModuleButton") {
buttonType = type;
break;
}
}
ConstructorInfo buttonConstructor = buttonType.GetConstructor(Type.EmptyTypes);
object buttonClassObject = buttonConstructor.Invoke(new object[] { });
//buttonMethod bleibt null
MethodInfo buttonMethod = buttonType.GetMethod("GetControl", BindingFlags.Instance | BindingFlags.Public);
object control = buttonMethod.Invoke(buttonClassObject, null);
public partial class ModuleButton : UserControl, IModuleButton
{
public ModuleButton()
{
InitializeComponent();
}
//von IModuleButton
public UserControl GetControl()
{
return new OrderHistoryControl();
}
}
Weiß einer wo der Fehler liegt?
TypeActivator ist leichter zu verwenden, wenn du eine instanz von einem typen erstellen möchtest..versucht das mal.
vermutlich liegt das an deinen flags
BindingFlags.Instance | BindingFlags.Public
dürfte nicht genug sein.
vg
Wenn's zum weinen nicht reicht, lach drüber!