|
> @まず、HmNetCom.cs を生成して、ソースを確保
> 「internal」という単語を「public」と全て置き換えてしまう。
> A新規ソリューション&プロジェクトを「.NET6」で作成し、
> 名前はHmNetCOM6Lib など適当に名称を付ける。
> HmNetCom.cs のソースを貼り付けて、コンパイル。
> HmNetCOM6Lib.dllが出来上がる。
最初に当方で思いついた方法がまさにそれです。試験的に HmNetCOM.tt を T4 テン
プレート変換して
生成された HmNetCOM.cs を眺めていて、internal 扱いの Hm クラスを public で公
開すれば
そのまま参照アセンブリとして使えそうな感じがしました。
ただ、実際に使用する段階で、例えば
https://help.maruo.co.jp/hidemac/html/240_PaneDll.html
に載っているアウトプット枠のコマンド値を素の System.Int32 値ではなく
public enum OutputPaneCommand : Int32 {
ClosePane = 1001 ,
Suspend = 1002 ,
Search = 1005 ,
NextResult = 1006 ,
.....
}
というようにちゃんと名前を付けた enum 値として定義する場合に、引数のコマンド
値を
System.Int32 として受ける Hm.OutputPane.SendMessage() を一段ラップした自作メ
ソッドを
用意する必要があるときなど、最終的に自作ラッパーを介して HmNetCOM.cs の各 AP
I を
操作することとなる見込みです。
よって、このラッパー DLL には HmNetCOM.cs を GUID 以外は手を付けずに埋め込ん
で、
その中の各 API を使いやすいようにラップした public なクラスを実装する形とな
ります。
|
|