秀丸マクロ側の記述も C#側の記述もスッキリしており、エレガントな構成にしやすい。
COMサーバーとして配置してある.dllが、呼び出し起点となるため、通常の運用なら.dll のパス問題と無縁でいられる。
シンプルなプラグインのようなものを作るシステムとマッチしている。
jsmode/JScript からなら、JavaScript上の関数をそのまま渡して、C#側からまるでC#の関数のように呼び出せ、非常に強力。
秀丸マクロ側の記述も C#側の記述もスッキリしており、エレガントな構成にしやすい。
COMサーバーとして配置してある.dllが、呼び出し起点となるため、通常の運用なら.dll のパス問題と無縁でいられる。
シンプルなプラグインのようなものを作るシステムとマッチしている。
ただし、.NET4.xに比べ、各種設定の.jsonなど依存ファイルが多く、x86とx64でファイルを分ける必要も出てくる
jsmode と .NET4.8 の組み合わせで、最大の威力を発揮する。
呼び出し口のインターフェイスだけ、ネイティブになり、
他はほとんどのC#ライブラリをそのまま使える。
ただし、C#のリフレクション機能に未対応なライブラリはコンパイルできないため、
JSON系のライブラリなどが利用できない。
(ここは、秀丸のjsmodeと組み合わせる際に、やや足かせとなりやすい)
jsmode / webview2 と .NET9.0 以降の組み合わせで威力を発揮しやすい。
特徴としては、hm.NETが便利な機能を提供してくれるため、高機能な.dllを作りやすい。
常駐して監視するタイプの.dll作成にも向いている。
C#の中から秀丸マクロ実行や秀丸変数への読み書きが出来るのが特徴。
hm.NETが間を取り持っているため、エラーが出た際のエラー理由がわかりやすい。
(Microsoft のNative AOTが全ての面で優れていますので、こちらは非推奨です
「hm.NET.dll」が何らかの理由で使えない(サードのdll回避など)、かつ、「COM を使う方法」も使えない(秀丸エディタのバージョンが8.95以下で不足している場合)、
この手法を採用することを検討する。
様々な意味で、上の3つよりは劣る方法である。