Ich würde gerne eine Methode aufrufen, die eine struct
unter Verwendung der MethodInfo.Invoke
Methode. Allerdings ist der Typ der zurückgegebenen Variablen bei dieser Metode object
die nicht in eine struct
.
(fand das, ebenso wie den Vorschlag, von struct
a class
, hier: http://msdn.microsoft.com/en-us/library/b7tch9h0(VS.90).aspx )
Wie könnte ich also das (Wert-)Ergebnis der aufgerufenen Methode in den richtigen Typ umwandeln?
(Ich habe versucht, einfache Cast als gut, aber es warf eine InvalidCastException)
Hier sind einige Teile meines Codes:
public class MyInvokedClass
{
public struct MyStruct
{ ... };
public MyStruct InvokedMethod()
{
MyStruct structure;
...
return structure;
}
}
public class MyInvokingClass
{
// Same structure here
public struct MyStruct
{ ... };
static void Main(string[] args)
{
...
MethodInfo methodInfo = classType.GetMethod(methodName);
MyStruct result = (MyStruct)methodInfo.Invoke(classInstance, null);
// the line above throws an InvalidCastException
}
}
Ich danke Ihnen allen!