0

私はそのような署名を持つ関数を持っています

private void FunkA(string eventName, Action action) {}
private void FunkB() {}

反省して得たもの。アクションの値もリフレクションによって取得されるため、私のコードでは、「MethodInfo」をパラメーターとして呼び出しに渡す方法を見つける必要があります。

MethodInfo miForFunkA;
MethodInfo miForFunkB;

miForFunkA.Invoke(sourceOfFunkA, new [] {
    methodInfo.Name,
    Delegate.CreateDelegate(typeof(Action), miForFunkB)
});

問題は、文字列型とデリゲート型を持つパラメーター リストを作成できないことです。これはどのように渡す必要がありますか?

4

1 に答える 1

0

配列タイプを明示的に指定する必要があります。

miForFunkA.Invoke(sourceOfFunkA, new object[] {
    methodInfo.Name,
    Delegate.CreateDelegate(typeof(Action), miForFunkB)
});

それがあなたの質問に対処しない場合は、質問を編集して、何をしようとしているのか、関連するすべての変数の宣言、現在のコード、それが何をするのか、それがあなたのものとどのように違うのかがより明確になるようにする必要がありますやってみたいです。

于 2014-11-15T00:07:13.440 に答える