您的位置:首页技术开发.Net 专栏 → 如何利用IronPython实现.NET接口

如何利用IronPython实现.NET接口

时间:2010/3/30 17:21:00来源:本站整理作者:我要评论(0)

 

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

相关视频

    没有数据

相关阅读 黑鲨2pro手机发布会直播地址 黑鲨2pro发布会直播网址iPhone数据迁移怎么用 iOS 12.4数据迁移功能使用教程禁用“Chrome请停用以开发者模式运行的扩展程序”教程LOL云顶之弈各英雄如何搭配装备 云顶之弈全英雄装备搭配推荐Chrome浏览器新老版本插件安装教程 谷歌浏览器新老版本插件安装方红米k20发布会直播地址 红米k20pro手机发布直播网址瘟疫传说无罪配置要求如何 瘟疫传说无罪配置要求推荐进击的巨人2最终之战配置要求如何 进击的巨人2最终之战配置推荐

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 什么是.NET中的TDD?ASP.NET AJAX入门简介 WebMatrix入门教程VC++2008中如何调用GetOpenFileName打开文件PlaySound函数在VC++6.0中如何播放音乐及声请问VC++回调函数怎么用

人气排行 嵌入式实时操作系统VxWorks入门教程ArrayList 与 string、string[] 的转换C#遍历整个文件夹及子目录的文件代码WebMatrix入门教程asp.net判断文件或文件夹是否存在c#判断数据NULL值的方法vc++6.0怎么写Windows简单窗口代码.net解决数据导出excel时的格式问题