2008年8月15日金曜日

C#でプラグイン

C#はC++とちがってdllにしたときの関数の呼び出しとかがなんか違うみたい
だからC++からC#のDLLクラスライブラリの関数っていまいち上手く呼べない、なんか方法あるんだろうか?
COMとか使ってやるのかなぁ、いまいちよくわからん。逆はすごい簡単なのに・・・

で、そういやC#ではそういう関数のエクスポート関連が違うからダイナミックリンクなDLLって作れないのかなと思って調べてみたら
Refrection(っていうの?)を使ってにたようなことができるみたい。

1.プラグインの仕様を定義したインターフェースクラスをもつDLLクラスライブラリ
2.プラグイン呼び出し側のexe。1.を参照してインターフェースを継承してexe側の実装をする(メイン側へプラグインがアクセスするためのもの)
3.プラグインDLL。1.を参照してインターフェースを継承してプラグインの動作を実装する。

http://dobon.net/vb/dotnet/programing/plugin.html
↑ここがサンプルつきで細かく解説してあって分かりやすかった。

0 件のコメント: