2010-05-01から1ヶ月間の記事一覧

Managed Extensibility Framework(MEF)入門 -AssemblyCatalog-

MEF

MEFではコンテナーにある領域のパーツを取り込む為の機構として「カタログ」と言う物が用意されています。今回は「アセンブリ内のパーツを取り込む」為のカタログ『System.ComponentModel.Composition.Hosting.AssemblyCatalog』クラスを取り上げます。Assem…

Managed Extensibility Framework(MEF)入門 -Custom Export-

MEF

MEFではエクスポート時にSystem.ComponentModel.Composition.ExportMetadataAttributeクラスを使用してメタデータの設定出来ます。メタデータ設定ではExportAttributeとExportMetadataAttributeを併用して実装する必要がありました。今回取り上げるカスタム…

Managed Extensibility Framework(MEF)入門 -ExportMetadata-

MEF

MEFではエクスポートするサービスに『メタデータ(エクスポート属性)』を付ける事が出来ます。これを使用する事によって、同一コントラクトのサービス群を区別する事が出来ます。主にImportMany属性を使用して取り込んだ同一のサービス群やコンテナーより取…

Managed Extensibility Framework(MEF)入門 -Lazy(遅延エクスポート)-

MEF

MEFではサービスのエクスポートを遅延させる事が出来ます。コンテナーに登録されたサービスを取得する場合、コントラクトと取得型を指定して希望のサービスを取得するか、コンテナーよりパーツにサービスをインポートしてもらいサービスを使用するのが一般的…

Managed Extensibility Framework(MEF)入門 -Contract-

MEF

MEFでサービスのエクスポートやインポート時に識別子を付与する事が出来ます。この識別子を『コントラクト』と言います。コントラクトには以下の種類があります。 名前コントラクト 型コントラクト 名前コントラクトは文字列で識別子を設定し、型コントラク…

Managed Extensibility Framework(MEF)入門 -Import-

MEF

MEFではコンテナーにエクスポートされた各種サービスをパーツに注入する事が出来ます。 コンテナーに登録されているサービスであれば柔軟に使用する事が出来ます。コンテナーに取り込まれているサービスをインポートするには、『System.ComponentModel.Compo…

Managed Extensibility Framework(MEF)入門 -Export-

MEF

2MEFではパーツのパーツ自信のインスタンス、プロパティ(フィールド)、メソッドをコンテナーに対しサービスと言う形でエクスポートする事が出来ます。 コンテナーにパーツ単位で登録するのが一般的です。サンプルコードを元に見ていきましょう。 クラスイ…

Managed Extensibility Framework(MEF)入門 -MEFとは-

MEF

MEFとは『Managed Extensibility Framework』の略語です。MEFは以前「CodePlex」にて提供されておりましたが、.NET Framework 4.0に標準機能として追加されました。まずはMEFでどのような事が行えるかを簡単に説明したいと思います。MSDNではこのように書か…

Managed Extensibility Framework(MEF)入門 -目次-

MEF

Visual Studio 2010の登場に伴い、.NET Framework4.0もリリースされました。.NET Framework4.0の新機能として『Managed Extensibility Framework』(以下MEFと記載)という機能が追加されました。これから数回に分けてMEFを取り上げてどのような機能なのか書…