0

署名Getdetails(int,string,bool)のメソッドのmethod.Invoke(objectname,object[]params)中に引数として文字列を渡すことはできますか? 渡す前にそれぞれの型にキャストする必要はありませんか?


リフレクションはキャストを処理しますか、またはこれを関数シグネチャに一致する適切なパラメーター型に動的にキャストする必要がありますか? 同じアプリケーションで異なる署名を持ついくつかのメソッドを呼び出しています。


したがって、シナリオは次のとおりです。

methodId をパラメーターの型と値とともに table に保存し、それらを取得してリフレクションを使用して呼び出します。しかし、TargetInvocationExceptionが発生するか、System.String を System.Int32 に変換できません。

4

2 に答える 2

0

あなたはすでにあなた自身の質問に答えました。これはできません。渡すパラメーターは、正しい型でなければなりません。

于 2012-03-22T11:16:01.547 に答える
0

扱いません。オブジェクト配列を作成して渡す必要があります。

method.Invoke(object,new object[]{1, "test", true});
于 2012-03-22T11:14:25.843 に答える