私はサブディレクトリから起動時にプラグインをロードするアプリケーションに取り組んでいますが、現在はリフレクションを使って各アセンブリのタイプを繰り返し処理し、IPluginModuleインタフェース。プラグインのアーキテクチャにおけるリフレクションと属性
Reflectionにはパフォーマンスヒットが含まれていますし、しばらくしてからいくつかのプラグインがあると思いますので、アセンブリレベルで適用されたカスタム属性を定義すると便利でしょうか。タイプ(おそらく、IPluginModuleの1つの実装者を含むアセンブリ内の約12種類のタイプ)。
属性が存在する場合、必要な型またはインスタンスを返すメソッドを提供することができ、その型を反復処理するのはフォールバックのメカニズムにすぎません。タイプ情報を設定ファイルに格納することはオプションではありません。
パフォーマンスが向上しますか、実際にアセンブリからストレージをロードするのにかかる時間に比べて問題はありませんか?また、この使用法は属性にはまったく適していますか?
パフォーマンスヒット?私はJavaからではなく、C#からの期待 - 私はあなたがそれを測定した場合、どのように知って興味があると思います。 –