C#でプラグイン機能を実装しよう!

 

 

こんにちは。ナガオカ(@boot_kt)です。

 

C#でプラグイン機能を作る!!!

それだけだっ!!

 

ただ、それだけだと他のブログさんの記事と似たような内容になるので、僕なりにちょっとだけ工夫しています

 

CUI版とGUI版の2種類作ってます

CUI版は他の記事と同じような内容ですが、GUI版は実践的に使うならこういうことできると幸せになれるかな、と思ったことを実装しています

 

参考になれば嬉しいです

 

参考にしたURL
参考にさせて頂いた記事です
ぜひこちらもご覧ください

 

私にとっては、C#のプラグインの記事の中では、この記事が一番シンプルで分かりやすかったです。

 

その他の記事もとても参考になりました。

 

ありがとうございました。

この記事を読む前に、ぜひ上記の記事を先にご覧ください。

 

 

 

 

まずはC#でプラグインの概要

この記事を読まれる方ならプラグインはお分かりでしょうから、ソースコードの構成とか大雑把に説明します

 

以下の三つがあればプラグイン機能を試すことができます

  1. メインのプログラム
    • ファイル形式:EXE
    • プラグインのDLLが所定のフォルダにあれば、プラグインを読み込んでプラグインを実行します
      プラグインのDLLが所定のフォルダに無ければ何事もなく何もしません
    • この記事ではGUI版とCUI版の二種類を解説します
      CUIで解説されても、実践ではGUIでしょうから応用しづらいかと思い、GUI版も解説します
      と言っても、どっちも作り方は基本的には同じです
  2. プラグインのベース
  3. プラグイン
    • ファイル形式:DLL
    • プラグインベースを取り込んで継承して作ります

 

ソースコードを見た方が早い!

ソースコード貼り付けておきます

コメント書いてるので、それを読んでください

 

解説はしません

書くのが面倒ってのもありますが(笑)、ソースコードとコメントだけ見れば充分理解できると思います

 

プロジェクト一式はGitHubに置いてます

ダウンロードしてもらって、Visual Studio 2017とかで参照設定し直してビルドすれば使えるでしょう

GitHubはこちら >> PluginSample_AbstractClassVersion | GitHub

 

MainProgramCUIプロジェクト

 

 

MainProgramGUI

 

 

 

 

PluginBaseDLL

 

PluginSample1

 

PluginSample2

 

 

広告




 

さいごに、

プラグイン機能を実装することあるのかな?とは思うんだけど、後からの対応は難しいだろうから、最初にデザインしておかないといけませんね
でもまぁ、プラグイン機能があるとなんかカッコイイよね!(笑)

他の言語でのプラグイン機能の作り方ってよく知らないんだけど、C#の場合は結構簡単ですね
DLLを動的に読み込んでリフレクション使ってるだけだし、メソッドの呼び方も普通だし、「挑戦」というほど難しくないけど挑戦してみてはどうでしょうか

 

参考書籍

 


 

プログラミング のレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。