MEF

カスタム属性なしのMEF

CodePlexにあるMEF v2ではカスタム属性ではなくコードでImport/Exportが可能になっています。「おいおい、依存関係の解決をコードでやらずに設定ファイルに出して、設定ファイルが複雑になるのでカスタム属性で指定できるようになったのに、また、コードに戻…

Managed Extensibility FrameworkからIronRubyを簡単に使う

MEF記事の連続投下第三弾。あまり一般受けしないネタを連投です。(^^;IronRubyをアプリケーションにホスティングは難しくありませんが、dynamicを使うなど特別扱いが必要だったりするし、何よりもVS上でコードを書いてビルドという流れの中に「rubyでコード…

Managed Extensibility FrameworkでAOPその2

MEFを人に説明するとき、どう言えばよいのでしょうか? 私の場合、DIコンテナを知っている人には「DIコンテナっぽい何か」と茶を濁しています。さて、DIコンテナはxmlで設定ファイルを書くものが多かった印象がありますが、MEFはカスタム属性ベースになって…

Managed Extensibility FrameworkでAOP

個人的に.NET4で一番期待していたMEFですが、何か足りないなぁっと思っていたらAOPがサポートされていなかったんですね。twitterでつぶやいていた案でちょっと組んでみました。ExportProviderでごにょごにょ。ただ、まだ勉強のためのコードなのでこのまま仕…

はじめてのMEFその2

MEFのドキュメントを読んでいたら、メソッドをインジェクション可能(Seasar.NETのメソッドインジェクションではない)とあったので早速実験君。 using System; using System.Reflection; using System.Linq; using System.Linq.Expressions; using System.Com…

はじめてのMEF

CodePlex Archive The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. とありますが、とりあえずDIコンテナと考えておけばOK。既に記事として取り上げたつもりでしたが、過去…