5

リフレクションを使用して dll をロードし、 を返すメソッドを呼び出そうとしていますList<customType>。メソッドを呼び出して戻り値を取得するにはどうすればよいですか。私はこれを試しましたが、言いentry point not found exceptionます。

MethodInfo[] info= classType.GetMethods();
MethodInfo method = mInfo.FirstOrDefault(c => c.Name == "GetDetails");
object values = method.Invoke(classInstance, new object[] { param1});

値には例外がありますentry point not found

4

1 に答える 1

7
Assembly assembly = Assembly.LoadFile(@"assembly location");    // you can change the way you load the assembly
Type type = assembly.GetType("mynamespace.NameOfTheClass");                                       
ConstructorInfo constructor = type.GetConstructor(Type.EmptyTypes);
object classObject = constructor.Invoke(new object[] { });

MethodInfo methodInfo = type.GetMethod("GetDetails");
var returnValue = (List<customType>)methodInfo.Invoke(classObject, new object[] { param1});

クラスが静的かどうか、およびコンストラクターがパラメーターを受け取るかどうかによって、いくつかの変更が必要になる場合があります。

于 2013-03-27T06:17:07.773 に答える