miso_soup3 Blog

主に ASP.NET 関連について書いています。

Hokuriku.NET C# メタプログラミング 〜リフレクション〜 感想

6/29(土) Hokuriku.NET C# メタプログラミング 〜リフレクション〜 に参加してきました。
初学者大歓迎の、Hokuriku.NET の入門シリーズです。

他の参加者の方の感想記事

まずは開催前の昼食時に、@xin9le さんの Surface 講義を受けました。
ちなみにこの講義は 2回目です。前回に引き続き、今回も Type Cover をお勧めされます。
@xin9le さん、本当に Surface がお好きなんですね。私もです。

そして会場に到着!
今回の講師、カメラ目線の蒲先生です!!

(ドヤッ

カンニングペーパーとカンニング本(第2版)を装備されていらっしゃいました!!

お菓子もご用意して下さいました。ありがとうございます。

私の方ももちろん、やる気120%での参加です。

内容

リフレクションはあまり詳しくはなく初心者レベルでしたが、落ち着いて学ぶことができました。
「この方法、ASP.NET MVC のコントローラ生成とかモデルバインダーで使ってる!!」と
にやにやしながら聞いておりました。

↓このようにコンソールプロジェクトを用意して、

型、プロパティ、メソッド、等について順々に、メタ情報を扱う方法について教えて頂きました。

当日書いたコードは、Gist に UP しましたので、ご興味ある方はご覧ください。
そのままコピペして起動できるはずです。
Hokuriku.NET C# メタプログラミング 〜リフレクション〜 で書いたコード

一番最後の「問題」では、リフレションだけではなく、Expression も登場しました。

面白かったこと

プロパティを宣言した時の、匿名バッキングフィールドを確認できたり、
メソッドやプロパティが同じメンバーであることを実感できたのが良かったです。

あとは、動的なアセンブリの読み込み方法で、コンソールアプリから Form を表示できたことが
面白かったです。これについては、xin9le さんの記事 参照設定せずにFormを表示する をご参照下さい。

メタプログラミングは、できることが多すぎて、いろいろ迷ってしまいそうです。

インスタンス生成や、プロパティ設定は ASP.NET MVC のコードでよく見かけたので、
改めておさらいすることができました。
これで、ASP.NET MVC, Web API のソースの解読が捗ります!!( ̄ー ̄)b

終わった後

勉強会が終わった後は、懇親会で焼肉をご馳走になりました!

今後は、 Dynamic、式木、Roslyn の入門を行う予定だそうです。

蒲先生、ありがとうございました!