Hokuriku.NET C# メタプログラミング 〜リフレクション〜 感想
6/29(土) Hokuriku.NET C# メタプログラミング 〜リフレクション〜 に参加してきました。
初学者大歓迎の、Hokuriku.NET の入門シリーズです。
他の参加者の方の感想記事
まずは開催前の昼食時に、@xin9le さんの Surface 講義を受けました。
ちなみにこの講義は 2回目です。前回に引き続き、今回も Type Cover をお勧めされます。
@xin9le さん、本当に Surface がお好きなんですね。私もです。
そして会場に到着!
今回の講師、カメラ目線の蒲先生です!!
(ドヤッ
内容
リフレクションはあまり詳しくはなく初心者レベルでしたが、落ち着いて学ぶことができました。
「この方法、ASP.NET MVC のコントローラ生成とかモデルバインダーで使ってる!!」と
にやにやしながら聞いておりました。
↓このようにコンソールプロジェクトを用意して、
型、プロパティ、メソッド、等について順々に、メタ情報を扱う方法について教えて頂きました。
当日書いたコードは、Gist に UP しましたので、ご興味ある方はご覧ください。
そのままコピペして起動できるはずです。
Hokuriku.NET C# メタプログラミング 〜リフレクション〜 で書いたコード
一番最後の「問題」では、リフレションだけではなく、Expression も登場しました。
面白かったこと
プロパティを宣言した時の、匿名バッキングフィールドを確認できたり、
メソッドやプロパティが同じメンバーであることを実感できたのが良かったです。
あとは、動的なアセンブリの読み込み方法で、コンソールアプリから Form を表示できたことが
面白かったです。これについては、xin9le さんの記事 参照設定せずにFormを表示する をご参照下さい。
メタプログラミングは、できることが多すぎて、いろいろ迷ってしまいそうです。
インスタンス生成や、プロパティ設定は ASP.NET MVC のコードでよく見かけたので、
改めておさらいすることができました。
これで、ASP.NET MVC, Web API のソースの解読が捗ります!!( ̄ー ̄)b