2

委任の入力と結果を表す一般的な委任 Func を使用できますか? そのような

public static int ProcessJob(Func<object[], object> function, params object[] args)

この関数を次のように呼び出します。

Func<int, string> Test = TestFunction;
AsyncJobHelper.ProcessJob(Test, i);

VS2010 でこれに関するエラーが発生しました。

4

3 に答える 3

2

おそらくジェネリック ProcessJob が必要です

public static TResult ProcessJob<TInput,TResult>(Func<TInput[],TResult> function, params TInput[] args)
 {
    return function(args);
 }
于 2013-05-03T15:17:16.543 に答える
2

いいえ; あなたはそれをすることはできません。

Delegate代わりに、関数が基本クラスを取得して を呼び出すようにすることができますDynamicInvoke()
これはリフレクションを使用するため、遅くなることに注意してください。

于 2013-05-03T15:16:36.447 に答える