2011-04-01から1ヶ月間の記事一覧
MefContribにはジェネリック用のGenericCatalogクラスがあります。これを使うとオープンジェネリック型をエクスポートすることができます。ただ、ドキュメント不足な上に、ちょっと癖がありそうです。公開するインタフェースは、こんな感じです。 // このイ…
MefContribにCastle以外にもLinFu.DynamicProxyが含まれていたので弄ってみたのですが、どうにも使い方が分かりません。 using LinFu.DynamicProxy; public class MyInterceptor : IInterceptor { public object Intercept(InvocationInfo info) { return in…
過去に似たようなことをやった気がしますが、今回はMefContribを使った一応、正式っぽい方法で。 using System; using System.Linq; using System.Reflection; using System.ComponentModel.Composition; using System.ComponentModel.Composition.Primitive…
ReSharperはコード分析してnull参照が発生する可能性があるところを指摘する機能があります。 このように該当箇所に波線が出て便利です。しかし、メソッドの戻り値がnullの場合は、残念ながらチェックされません。 ただ、この機能はカスタム属性が使われてい…
MefContrib.MVC3によって生成された、AppStart_MefContribMVC3.csには、MEFを使用するための初期化コードがありますが、このコードは誰が呼び出しているのでしょうか? [assembly: WebActivator.PreApplicationStartMethod(typeof(TestMvcApplication.App_St…
MefContrib.MVC3を使うと簡単にASP.NET MVCからMEFを使えるのでご紹介。前提:NuGetがインストール済みなこと。まず、ASP.NET MVC3のプロジェクトの用意しましょう。ASP.NET MVC3を選択。 面倒なのでデフォルト実装ありで。 では、MEFを使えるようにしましょ…