C#使用技巧之调用JS脚本方法二
在上篇 C#使用技巧之调用JS脚本方法一 中向大家介绍了C#调用js文件中的js方法,今天给大家介绍另一种调用方法:
1、创建WinForm项目。
2、在From1上增加一个文本框一个按钮。
3、进入Form1.cs编码后台代码。
Form1.cs代码如下:
1 private void button1_Click(object sender, EventArgs e) 2 { 3 4 //输入JS方法参数 5 object[] para = new object[] { this.textBox1.Text.Trim() }; 6 7 string str = GetJsMethd("test", para); 8 9 MessageBox.Show(str); 10 } 11 12 /// <summary> 13 /// 执行JS方法 14 /// </summary> 15 /// <param name="methodName">方法名</param> 16 /// <param name="para">参数</param> 17 /// <returns></returns> 18 private static string GetJsMethd(string methodName, object[] para) 19 { 20 StringBuilder sb = new StringBuilder(); 21 sb.Append("package aa{"); 22 sb.Append(" public class JScript {"); 23 sb.Append(" public static function test(str) {"); 24 sb.Append(" return 'Hello,'+str;"); 25 sb.Append(" }"); 26 sb.Append(" }"); 27 sb.Append("}"); 28 29 CompilerParameters parameters = new CompilerParameters(); 30 31 parameters.GenerateInMemory = true; 32 33 CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider(); 34 35 CompilerResults results = _provider.CompileAssemblyFromSource(parameters, sb.ToString()); 36 37 Assembly assembly = results.CompiledAssembly; 38 39 Type _evaluateType = assembly.GetType("aa.JScript"); 40 41 object obj = _evaluateType.InvokeMember("test", BindingFlags.InvokeMethod, 42 null, null, para); 43 44 return obj.ToString(); 45 }
4、测试效果
注:在后台代码中如果找不到命名空间:Microsoft.JScript.JScriptCodeProvider,请参照下图增加引用
阅读指引: C#使用技巧之调用JS脚本方法一
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?