あなたがここで求めていることを正確に収集するのは難しいですが、あなたの「拡張機能」を定義するためにいくつかの匿名関数を使いたいかもしれないように聞こえるかもしれません。そして、ルックアップテーブルあなたが言ったように:ここでは
がアイデアを証明するために、1つの再帰的な例で、いくつかの基本的なサンプルコードです:
Func<long,long> sqr =
(x) =>
{
return x * x;
};
Func<long,long> factoral =
(n) =>
{
return n > 1 ?
n * (long)(MethodInfo.GetCurrentMethod().Invoke(null, new object[] { n - 1 })) :
n;
};
var DataObjects = new []
{
new { Name = "sqr(1)!", Value = factoral(sqr(1)) },
new { Name = "sqr(2)!", Value = factoral(sqr(2)) },
new { Name = "sqr(3)!", Value = factoral(sqr(3)) },
new { Name = "sqr(4)!", Value = factoral(sqr(4)) },
new { Name = "sqr(5)!", Value = factoral(sqr(5)) },
};
DataObjects.ToList().ForEach
(
d =>
Console.WriteLine(d)
);
は出力が得られます。
名称SQR(1)! 値1
名前sqr(2)! 値24
名前sqr(3)! 値362880
名前sqr(4)! 値20922789888000
名前sqr(5)!このことができます 値7034535277573963776
希望、
私はそれを得ません:D – Matthias
@Matthias Koch、これは長い話です)))) – superM
拡張によって、あなたは何らかの変数xの操作を意味しますか?私はあなたがlnとexpのビルトインMathメソッドを使うのではなく、これらを使って何らかの式を作成して操作したり評価したりしたいと思っています – Bort