委任の入力と結果を表す一般的な委任 Func を使用できますか? そのような
public static int ProcessJob(Func<object[], object> function, params object[] args)
この関数を次のように呼び出します。
Func<int, string> Test = TestFunction;
AsyncJobHelper.ProcessJob(Test, i);
VS2010 でこれに関するエラーが発生しました。
おそらくジェネリック ProcessJob が必要です
public static TResult ProcessJob<TInput,TResult>(Func<TInput[],TResult> function, params TInput[] args)
{
return function(args);
}
いいえ; あなたはそれをすることはできません。
Delegate代わりに、関数が基本クラスを取得して を呼び出すようにすることができますDynamicInvoke()。
これはリフレクションを使用するため、遅くなることに注意してください。