排水管インターネット


2013-06-14 世界の排水管妻は見た!

.NETのプログラムで

外部のDLLを動的に読み込んでインターフェイスを列挙してプラグインとして使う、というような処理を何度か書いていた。しかし.NET Framework 4.0からはManaged Extensibility Framework(MEF)という仕組みが用意されているという。早速チュートリアルを試してみた。

ImportAttributeを付与したインターフェイスやそのコレクションが全く初期化されないでも動くというのは少し不審な感じもあり、ビルドすると「初期化も代入もしてないよ」という警告も出るわけだが、そこは定義時にnullで初期化しておくなどすればよいようだ。

これまで例えば実行ファイルの直下に"Extensions"というフォルダを作ってその下に含まれるDLLを列挙し読み込んでインターフェイスが実行されているか確認してインスタンス化するとか、割りと面倒なコードを合成コンテナ(CompositionContainer)に任せてしまうことができる。今後はぜひこちらに乗り換えたい。



アーカイブ

2003|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|12|
2010|01|02|03|05|07|08|09|11|12|
2011|01|02|04|12|
2012|01|02|03|04|09|12|
2013|01|02|03|04|05|06|07|08|10|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|
2017|08|
2018|10|

2003/03以前は 旧排水管インターネット にありましたがサービスが終了しました。


リンク


フィード