問題
これは非常に単純な質問かもしれませんが、しばらくの間行き詰まっていました。InvokeMember は、メソッドに渡すために必要なパラメーターを表す object[] を受け入れることができます。2 つのオブジェクト (obj のリスト、文字列 foo) があります。どちらの変数もメソッドに正常に渡すことができますが、両方を渡そうとすると、Method 'x' NotFound 例外が発生します。
詳細
メソッドの呼び出し:
classtype.InvokeMember(someMethodName,
BindingFlags.Public | BindingFlags.InvokeMethod|BindingFlags.Static,
null,
null,
new object[]{ someListOfObjects, stringValue});
受信方法:
public static string TestMethod(object foo)
{
return "foo";
}
注: 渡すとき、new object[]{someListOfObjects}
またはnew object[]{stringValue}
目的のメソッドに到達すると、期待どおりに到達しますが、両方を渡そうとすると、メソッドが見つかりません。TestMethod の着信パラメーターは正しいですか?
オブジェクト [] を受け入れるように TestMethod を変更すると、メソッドが見つかりません。