利用IronPython实现.NET接口
在IronPython2.6中新增加了clrtype功能,这样我们就可以在IronPython中实现接口以及特性类的功能。 要想使用clrtype,需要先引入clrtype.py这个文件,在安装完IronPython之后,我并没有在安装目录下发现这个文件,但是在IronPython2.6的Samples里找到了这个文件,Copy过来就OK了。 先定义一个C#的接口,然后将其改写为Python的,代码如下: using System; public interface IMyInterface { string SayAge(int age); } public class MyClass:IMyInterface { public string SayAge(int age) { return "hello " + age.ToString(); } } 对就的Python程序如下所示: # coding=gb2312 import clr import clrtype from System import * class IMyInterface(object): __metaclass__ = clrtype.ClrInterface#声明该类为接口类型 _clrnamespace = "TestPython" #添加命名空间 @clrtype.accepts(int) @clrtype.returns(str) def SayAge(self, age): raise RuntimeError("this should not get called") class MyClass(IMyInterface): __metaclass__ = clrtype.ClrClass#声明该类为类 _clrnamespace = "TestPython"#添加命名空间 def SayAge(self, age): return "hello " + str(age) mc = MyClass() Console.Write(mc.SayAge(10)) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |