タグ

ブックマーク / zecl.hatenablog.com (1)

  • 動的にDLL(ライブラリ)をロードしてアセンブリを作って、P/Invokeなdelegateを生成してみよう。 - Bug Catharsis

    C#で動的にDLL(ライブラリ)をロードしてアセンブリを作って、P/Invokeなdelegateを生成 動的にDLL(ライブラリ)をロードするというシナリオは、意外と要求されることが多いのではないかと思います。 利用する関数があらかじめ明確になっているのであれば、そのまま直実装でも構わないのですが、 それが明確になっていないような場合、あるいは都度動的に変化するというような場合では、一筋縄にはいきません。 そんな場合は、P/Invokeなdelegateについても動的に生成することを検討してみるとよさそうです。 具体的な方法を簡単に説明します。まずWinAPIのLoadLibrary関数でDLL(ライブラリ)をロードします。 続きまして、アセンブリを動的に生成し、またそのアセンブリに動的にクラスを作成します。 その動的に作成したクラスについて、読み込んだDLLから関数ポインタを積んだメソ

    動的にDLL(ライブラリ)をロードしてアセンブリを作って、P/Invokeなdelegateを生成してみよう。 - Bug Catharsis
  • 1