PC6下载站

分类分类

如何利用IronPython实现.NET接口

关注+2010-03-30作者:

 

如何利用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))

展开全部

相关文章

更多+相同厂商

热门推荐

  • 最新排行
  • 最热排行
  • 评分最高
排行榜

    点击查看更多

      点击查看更多

        点击查看更多

        说两句网友评论

          我要评论...
          取消