Laden...

Reflection -> GetMethod gibt immer null zurück

Erstellt von Coooder vor 9 Jahren Letzter Beitrag vor 9 Jahren 935 Views
C
Coooder Themenstarter:in
180 Beiträge seit 2011
vor 9 Jahren
Reflection -> GetMethod gibt immer null zurück

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?

P
157 Beiträge seit 2014
vor 9 Jahren

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!