からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

C#で合成関数(未完)

1月 24th, 2008 · No Comments · .net

C#で合成関数やろうかと思っていろいろ頑張ったけど、駄目だったよw

あんまり意味はないけど、たとえばこんなの。

Func<int, string> f0 = i => “number: ” + i.ToString();
Func<string, string> f1 = s => s.ToUpper();
Func<int, string> f = f1 * f0;

Console.WriteLine(f(10));

ってのをやったときに、まあ予想できるだろうけど、”NUMBER: 10″ って出力されるわけよ。ここで断っておくと、

Func<int, string> f = i => f1(f0(i));

ってのは、俺のやりたいことじゃあないので、却下。

Func<int, string> GetHogeFunc(Func<int, string> f0, Func<string, string> f1);

っていうメソッドを作りたいわけ。

で、MethodInfo をオーバーライドしたクラスを生成するようなクラス作ればいいんじゃね? とか思っていろいろ調べて、MSIL とかもちょい書きかけたけど、ドつぼにはまりそうなのでやめたw 時間があればやってみたいが、時間がないのでやめたぜ。やってもできないかもしんないけどw

Tags: