概要
秀丸本体から提供されているネイティブ関数を、C#用にP/Invoke、そして、ラップしたものとなります。
たった1つの cs ファイルで使える、といったスタンスとなります。
用途としては、hm.NETが直接はサポートしていない「.NET5」や「.NET Core」のdll、
あるいは、「COM経由」や「DllExport.bat経由」で制作するdllでの利用する、
といった想定となります。
また、提供されているAPIの範囲においては、hm.NETと同じ記述になるように構成されています。
秀丸
秀丸エディタ ver8.77以上 (v8.97以上推奨)
インプロセスのdllのみでの動作(秀丸と同じプロセス空間で呼び出すdll用途)となります。
対象プラットフォーム
以下の .NET と 秀丸での動作が想定されています。
- .NET 6.0 (秀丸 v8.97以上)
- .NET 5.0 (秀丸 v8.97以上)
- .NET Framework 4.5~4.8 (4.7~4.8推奨) (秀丸 v8.77以上)
- .NET Core 3.1 (秀丸 v8.97以上)
- .NET Standard 2.0~2.1 (秀丸 v8.77以上)
使い方は主に2系統
-
「HmNetInvoke.cs」をあなたが制作しているC#プロジェクトに取り込んで利用
この使い方が基本的には想定されています。
「HmNetInvoke.cs」ファイル単体をあなたのC#プロジェクトへとコピペする形で良いでしょう。
秀丸本体から提供されている関数が、すでにC#で使いやすいようラップされているため、
「自身で実装する手間を省きつつ、第3者のdllへの依存も特になし」といった形を実現できます。
-
「HmNetInvoke.dll」を作成し、それを利用する。
この使い方も一応想定されています。
HmNetInvoke.slnをコンパイルし、「HmNetInvoke.dll」として利用することも可能ではあります。
ポータブルクラスライブラリとなる「.NET Standard 2.0」のdllを使えば、先述のどの.NET プラットフォームでも動作します。
この使い方は、hm.NETの小型版のような利用方法ですので、実はhm.NETを使ったほうがよいのではないか? といったことも検討してください、
hm.NETとの差別化としては、hmNETが、.NET Framework 4.xのみを動作対象としているのに比べ、
HmNetInvokeは幅広い.NET系列で動作するという点でしょう。