2015/04/15

第二回 プログラミング情報

現在、MultiArgsにプラグイン機能を実装中です。

MultiArgsを途中まで作ってて思ったことがあるんですが、この手のソフトにはプラグイン機能を付けた方が利便性が増すんじゃないかと思いまして、初めて挑戦するプラグイン機能に切り替えています。

結構苦戦したのが動的にアセンブリを読み込むことですかねw

ちなみに、プラグインはダイナミックリンクライブラリで、作成する際の条件は今のところ

・名前空間がファイル名と同じ物が含まれていること
・クラス名が「MultiArgsPlugin」になっていること
・戻り値がStringのInfoメソッドがあること
・戻り値がMultiArgsLib.Method(独自の型)のMembersメソッドがあること

Infoメソッドは、そのプラグインの情報を返すようにしてください。
Membersメソッドは、そのプラグインで利用できるメソッド名を返してください。
また、Membersメソッド返されるメソッド名は全て引数をStringで一つだけ持ってください。

以上が4/15日現在の条件です。
そのうち増えるかもしれないので参考に~

あと、独自の型「MultiArgsLib.Method」は後々MultiArgsLib.dllを配布するのでそれを参照に追加して利用してください。
プラグインを入れる場所は、実行ファイルのディレクトリにあるPluginsディレクトリに入れてください。その後に起動すると勝手に読み込まれます。上の条件を満たしていないとエラーが起きるかもしれません。

初期状態ではプラグインに

・MultiArgsLib.dll(動作させるためのファイル)
・Application.dll(アプリケーションの起動などを行います)
・FileOperation.dll(ファイル操作を行います)
・FolderOperation.dll(フォルダ操作を行います)

が追加される予定です。
それでは公開までお楽しみに~~

0 件のコメント:

コメントを投稿