当前位置:首页 > Windows程序 > 正文

electron调用c#动态库

2024-03-31 Windows程序

标签:

electron调用c#动态库 新建C#动态库

方法要以异步任务的方式,可以直接包装,也可以写成天然异步

代码如下

public class Class1 { public async Task<Object> Invoke(object input) { return Helper.SayHi("Invoke1:" + (string)input); } public async Task<Object> Invoke2(object input) { return Helper.SayHi("Invoke2:" + (string)input); } static class Helper { public static string SayHi(string param) { return ".NET Welcomes " + param; } }

安装electron-edge-js模块

调用代码如下

const edge = require('electron-edge-js'); console.info("call c#") var DemoDll = edge.func({ assemblyFile: "electronedge.dll", typeName: "electronedge.Class1", methodName: "Invoke" }); var DemoDll2 = edge.func({ assemblyFile: "electronedge.dll", typeName: "electronedge.Class1", methodName: "Invoke2" }); // module.exports.DemoDll = DemoDll; module.exports.DemoDll = { demo: DemoDll, demo2:DemoDll2 };

node引用如下

const DemoDll = require("./csharputil.js"); DemoDll.DemoDll.demo("test", (err, value)=> { log.debug(value); });

页面js引用如下

包装如下

function init() { const DemoDll = require("F:/yanghuaihua/electronedge/csharputil.js"); return { demo: DemoDll.DemoDll.demo, demo2:DemoDll.DemoDll.demo2 }; } const initRequire = init();

引用如下

<script>window.$ = window.jQuery = require('./js/jquery-3.4.1.min.js');</script> <script type="text/javascript" src=http://www.mamicode.com/"./js/init.js"></script> <script type="text/javascript" src=http://www.mamicode.com/"./js/index.js"></script> <script type="text/javascript"> $("#btn").click(function () { initRequire.demo("test", (err, value) => { $("#demo").append(value); $("#demo").text(value); }); setInterval(()=>{ initRequire.demo2("test", (err, value) => { $("#demo").append(value); $("#demo").text(value); }); }, 1500); }); </script>

源码地址

https://github.com/Ants-double/yumi/tree/master/electronedge

标签:

原文地址:https://www.cnblogs.com/ants_double/p/11741899.html

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/8728.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494583访问次数
  • 建站天数
  • 友情链接