私は簡単なプラグインベースのプログラムを書いています。私はいくつかの方法と機能を持っているIPlugin
というインターフェースと私のメインプログラムのList<Plugin>
を持っています。簡略化のために、言うことができますそのように定義:C#DLLを作成インターフェイスを実装するプラグイン
public interface IPlugin
{
public void OnKeyPressed(char key);
}
毎回キーを押すと、Iプラグインのリストをループし、それらのそれぞれのOnKeyPressed(c)
を呼び出します。
私はそうのようなクラスを作成し、リストに追加することができます...
public class PrintPlugin
{
public void OnKeyPressed(char key)
{
Console.WriteLine(c);
}
}
そして、あなたがキーを押したときに、その後、そのプリントアウト
。しかし、私はDLLファイルからプラグインをロードできるようにしたい。 This linkは役に立ちましたが、DLLのクラスに私のIPlugin
インターフェイスを実装する方法を説明していません...どうすればいいですか?
プロジェクト:私が正しくあなたを理解していた場合、私は本当に
3つのプロジェクトを作成します...
あなたのライブラリへの参照を追加することができます。それ以降は、プラグインインタフェースを使用することができます。 – VMAtm
私は実行時にそれらをロードして、ユーザーが独自のプラグインを作成できるようにしたいと考えています。 – Entity
次に、リスト 'のようなプロパティを作成して、ユーザーがリストにプラグインを追加できるようにする必要があります。 –
VMAtm