2011-01-01から1ヶ月間の記事一覧

Binding,MemberBinding,MemberInit

MSDNの解説がいまいち理解できなかったので、自分なりにまとめてみた。 とどのつまり、下のようなコードをExpressionTreeで表現する方法といえるんじゃ無かろうかと思う。 public static Inner InnerImpl() { return new Inner() { Ival = 10 }; } public static…

初期化子に関する一考察

C# IL

ClosureのIL眺めてたとき、ちょっと気づいた。詰まることはないと思うし、動作結果が一致してるけど、コンパイラの生成するILが不一致なのでとりあえずまとめておこうかと。 今回使ったサンプルクラス public struct sampleStr { public int Val { get; set; } } …

Expression.Addに関することなど

直感的でないことがいくつかあったので、備忘録的に。 お約束 Expression.Add(Expression left,Expression right)を構築すると、NodeTypeがAddになる。 Expressionに二項演算子+を実装したλを食わせても結果は一致する。 普通はこのBinaryExpression.Methodの実装…