私がこの種の構造を持っているとしましょう:
|
|-Plugins
|-Plugin1.cs
|-Plugin2.cs
|-Plugin3.cs
|-PluginBase.cs
|-PluginList.cs
Plugins
フォルダ内の各クラスは から拡張されPluginBase.cs
ます。
利用可能なプラグインのリストをエクスポートして、アプリがそれを使用してユーザーが必要なPluginList.cs
ものを選択できるようにする必要があります。
C# は初めての経験なので、これがどのように機能するのかわかりません。
オンラインで検索すると、Managed Extensibility Framework に関する情報が見つかりましたが、これが必要かどうかはわかりません。
私の非常に生のアイデアは、Plugin ディレクトリをスキャンしてそれらを一覧表示することですが、C# が Java のクラスと同等かどうかわからないので、Class
まだ試していません。
モバイル アプリケーションの話なので、できるだけ高速にしたいので、このスキャン方法は最適ではないかもしれません。
何か案が?
編集:
したがって、最善の方法は MEF2 を使用することですが、Visual Studio ではアセンブリをプロジェクトに追加できないため、機能させることができません (Nuget で試し、手動で dll を追加してみました)。
MEF2に代わるものはありますか?