首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>asp.net>资讯:如何利用IronPython 实现.NET接口

如何利用IronPython 实现.NET接口

www.jz123.cn  2011-11-14   来源:   站长家园    责任编辑(袁袁)    我要投递新闻


   在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))

上一篇:.Net实现找出两幅图片的不同之处 下一篇:提升.net性能的一些方法

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图