平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

C#5のCaller Info Attributes

うかつにもBuildのときはスルーしてた。

ufcppさんとこがわかりやすいのでここにリンク

しかしよくこんなのを入れたなあ。後から「あれも欲しいこれも欲しいもっと欲しいもっともっと欲しい」ってなりそうな気が。

これ、CallerFilePathCallerLineNumberCallerMemberNameなど少数の属性だけをコンパイラが特別視するってことなら、それはどうなの。

どうせコンパイラへの置換指令なんだから、汎用的な仕組みにしておいてほしいな(Roslyn待ち?)。アンダースがマクロ要望を蹴ってるのは有名な話だが、今回みたいに、型には属性をつけるだけにしておいて、型を利用する側のコンパイル時だけ置換が行われる(メソッド引数を足す)仕組みならは、オプション引数をサポートした今ならアンダース的にもOKなんでしょう?

追記:Roslynの絡みで