python插件.常见问题.组件引用、命名空间导入、函数调用
【案例】在python中访问自定义c#组件的各种方法
如果需要了解实践的可查询 IronPython
【准备工作】
服务器bin目录下自定义组件,以及相关的代码
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案例】
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;
【效果】
<p>【案例】在python中访问自定义c#组件的各种方法<br />
如果需要了解实践的可查询 IronPython</p>
<p>【准备工作】<br />
服务器bin目录下自定义组件,以及相关的代码<br />
<img src="https://media.my7c.com:19000/files/article/kdvip/1/53839016/466dfae0ee1516c5.webp" alt="image.webp" /></p>
<pre><div class="hljs"><code class="lang-csharp"><span class="hljs-keyword">namespace</span> <span class="hljs-title">DynamicFormPlugIn.Tools</span>
{
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ToolsUtils</span>
{
<span class="hljs-comment">/*
* 静态工程调用
*/</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">string</span> <span class="hljs-title">GetMessage</span>(<span class="hljs-params"></span>)
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.Format(<span class="hljs-string">"ToolsUtils.GetMessage()"</span>);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">string</span> <span class="hljs-title">GetMessageOne</span>(<span class="hljs-params"><span class="hljs-keyword">string</span> arg</span>)
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.Format(<span class="hljs-string">"ToolsUtils.GetMessageOne(): arg ={0}"</span>, arg);
}
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ToolsDefaultIml</span>
{
<span class="hljs-comment">/*
* 默认构造函数
*/</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">ToolsDefaultIml</span>(<span class="hljs-params"></span>)
</span>{
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">string</span> <span class="hljs-title">GetMessage</span>(<span class="hljs-params"></span>)
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.Format(<span class="hljs-string">"ToolsDefaultIml.GetMessage()"</span>);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">string</span> <span class="hljs-title">GetMessageOne</span>(<span class="hljs-params"><span class="hljs-keyword">string</span> arg</span>)
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.Format(<span class="hljs-string">"ToolsDefaultIml.GetMessageOne(): arg ={0}"</span>, arg);
}
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title">ToolsOneArgImpl</span>
{
<span class="hljs-comment">/*
* 单参数构造函数
*/</span>
<span class="hljs-keyword">string</span> arg1;
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">ToolsOneArgImpl</span>(<span class="hljs-params"><span class="hljs-keyword">string</span> arg</span>)
</span>{
arg1 = arg;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">string</span> <span class="hljs-title">GetMessage</span>(<span class="hljs-params"></span>)
</span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">string</span>.Format(<span class="hljs-string">"ToolsOneArgImpl.GetMessage(): arg1 = {0}"</span>, arg1);
}
}
}
</code></div></pre>
<p>【python案例】<br />
<img src="https://media.my7c.com:19000/files/article/kdvip/1/53839016/9465307304e36045.webp" alt="image.webp" /></p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-keyword">import</span> clr
clr.AddReference(<span class="hljs-string">"mscorlib"</span>)
clr.AddReference(<span class="hljs-string">"System.Data"</span>)
<span class="hljs-comment">#增加引用自定义组件</span>
clr.AddReference(<span class="hljs-string">"DynamicFormPlugIn"</span>)
<span class="hljs-keyword">from</span> System <span class="hljs-keyword">import</span> *
<span class="hljs-keyword">from</span> System.Collections.Generic <span class="hljs-keyword">import</span> *
<span class="hljs-keyword">from</span> System.Data <span class="hljs-keyword">import</span> *
<span class="hljs-comment">#导入组件的命名空间</span>
<span class="hljs-keyword">from</span> DynamicFormPlugIn.Tools <span class="hljs-keyword">import</span> *
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">BarItemClick</span><span class="hljs-params">(e)</span>:</span>
<span class="hljs-keyword">if</span> (e.BarItemKey.Equals(<span class="hljs-string">"tbTestPython"</span>, StringComparison.OrdinalIgnoreCase)):
msg = <span class="hljs-string">''</span>;
msg +=ToolsUtilsTest()+<span class="hljs-string">'\r\n'</span>;
msg +=ToolsDefaultImlTest()+<span class="hljs-string">'\r\n'</span>;
msg +=ToolsOneArgImplTest()+<span class="hljs-string">'\r\n'</span>;
this.View.ShowMessage(msg);
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">ToolsUtilsTest</span><span class="hljs-params">()</span>:</span>
<span class="hljs-comment">##公有静态工程调用</span>
ans = <span class="hljs-string">''</span>;
ans +=ToolsUtils.GetMessage();
ans +=<span class="hljs-string">'\r\n'</span>;
ans +=ToolsUtils.GetMessageOne(<span class="hljs-string">' hello world '</span>);
<span class="hljs-keyword">return</span> ans;
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">ToolsDefaultImlTest</span><span class="hljs-params">()</span>:</span>
<span class="hljs-comment">##公有无参实例类调用</span>
ans = <span class="hljs-string">''</span>;
implObj = ToolsDefaultIml();
ans += implObj.GetMessage();
ans += <span class="hljs-string">'\r\n'</span>;
ans += implObj.GetMessageOne(<span class="hljs-string">' test 123 '</span>);
<span class="hljs-keyword">return</span> ans;
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">ToolsOneArgImplTest</span><span class="hljs-params">()</span>:</span>
<span class="hljs-comment">##公有一参数实例类调用</span>
ans = <span class="hljs-string">''</span>;
implObj = ToolsOneArgImpl(<span class="hljs-string">' show kd message'</span>);
ans += implObj.GetMessage();
<span class="hljs-keyword">return</span> ans;
</code></div></pre>
<p>【效果】<br />
<img src="https://media.my7c.com:19000/files/article/kdvip/1/53839016/cc58c99f869452bd.webp" alt="image.webp" /></p>
【案例】在python中访问自定义c#组件的各种方法
如果需要了解实践的可查询 IronPython
【准备工作】
服务器bin目录下自定义组件,以及相关的代码
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案例】
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;
【效果】
python插件.常见问题.组件引用、命名空间导入、函数调用
【案例】在python中访问自定义c#组件的各种方法如果需要了解实践的可查询 IronPython【准备工作】服务器bin目录下自定义组件,以及相关的...
点击下载文档
本文2024-09-16 17:43:57发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-17596.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章