私は次のように書こうとしています。このメソッドBのパラメータとして、別のメソッド "B"と未知数のパラメータをとるメソッド "A"を書きたいと思います。 (params object [] args)です。さて、メソッドAの中で、パラメータargsを使ってBを呼び出したいと思います。 BはAを返すようにしたいオブジェクトを返します。C#与えられたメソッドを実行するメソッド
このすべては少し奇妙に聞こえるので、私はいくつかのサンプルコードを追加します。
public object A(Func<object> B, params object[] args)
{
object x = B.Method.Invoke(args);
return x;
}
問題はfuncがそのように動作しないこと、です。誰もがこれを行う方法を知っていますか?
よろしく、
あなたは、整数と文字列を受け入れることのFuncを定義する場合は、例えば一部だけ定義されたパラメータを渡す場合は、コードの仕事をしていますか?私はあなたのコードはほぼOKですが、もしFuncがparamsを受け入れるように定義されているかどうかはわかりません。 –
パラメータを定義するとうまくいきます。しかし、それはFunc Bのようなものを受け入れません。 –
Christian
bは固定の署名ですか? B型が何を返すのか知っていますか?そうでなければ、Func <..>署名を使用することはできません。デリゲートと動的な呼び出しを使用する必要があります。 http://msdn.microsoft.com/en-us/library/system.delegate.dynamicinvoke.aspx – davidfowl