二开案例.python插件.常见问题.组件引用、命名空间导入、函数调用(公有)

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

二开案例.python插件.常见问题.组件引用、命名空间导入、函数调用(公有)

【案例】在python中访问自定义c#组件的各种方法 如果需要了解实践的可查询 IronPython 【准备工作】 服务器bin目录下自定义组件,以及相关的代码 ![image.webp](/download/0100b7c88151164a4076b82010ae9bb3e126.webp) ```csharp namespace DynamicFormPlugIn.Tools { public static class ToolsUtils { /* * 静态工程调用 */ public static string GetMessage() { return string.Format("ToolsUtils.GetMessage()"); } public static string GetMessageOne(string arg) { return string.Format("ToolsUtils.GetMessageOne(): arg ={0}", arg); } } public class ToolsDefaultIml { /* * 默认构造函数 */ public ToolsDefaultIml() { } public static string GetMessage() { return string.Format("ToolsDefaultIml.GetMessage()"); } public static string GetMessageOne(string arg) { return string.Format("ToolsDefaultIml.GetMessageOne(): arg ={0}", arg); } } public class ToolsOneArgImpl { /* * 单参数构造函数 */ string arg1; public ToolsOneArgImpl(string arg) { arg1 = arg; } public string GetMessage() { return string.Format("ToolsOneArgImpl.GetMessage(): arg1 = {0}", arg1); } } } ``` 【python案例】 ![image.webp](/download/0100bbddc94cfad64a4aa6c684e4182eaaed.webp) ```python import clr clr.AddReference("mscorlib") clr.AddReference("System.Data") #增加引用自定义组件 clr.AddReference("DynamicFormPlugIn") from System import * from System.Collections.Generic import * from System.Data import * #导入组件的命名空间 from DynamicFormPlugIn.Tools import * def BarItemClick(e): if (e.BarItemKey.Equals("tbTestPython", StringComparison.OrdinalIgnoreCase)): msg = ''; msg +=ToolsUtilsTest()+'\r\n'; msg +=ToolsDefaultImlTest()+'\r\n'; msg +=ToolsOneArgImplTest()+'\r\n'; this.View.ShowMessage(msg); def ToolsUtilsTest(): ##公有静态工程调用 ans = ''; ans +=ToolsUtils.GetMessage(); ans +='\r\n'; ans +=ToolsUtils.GetMessageOne(' hello world '); return ans; def ToolsDefaultImlTest(): ##公有无参实例类调用 ans = ''; implObj = ToolsDefaultIml(); ans += implObj.GetMessage(); ans += '\r\n'; ans += implObj.GetMessageOne(' test 123 '); return ans; def ToolsOneArgImplTest(): ##公有一参数实例类调用 ans = ''; implObj = ToolsOneArgImpl(' show kd message'); ans += implObj.GetMessage(); return ans; ``` 【效果】 ![image.webp](/download/0100268f5684235f48738524dc3d9ed24e7f.webp)

周老师牛逼

二开案例.python插件.常见问题.组件引用、命名空间导入、函数调用(公有)

【案例】在python中访问自定义c#组件的各种方法如果需要了解实践的可查询 IronPython【准备工作】服务器bin目录下自定义组件,以及相关的...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息