C#中IronRuby实现对Ruby类相关信息的树结构显示

一、前言

IronRuby是.NET下的一个Ruby实现,此外还有Ruby.net这一开源项目,二者的主要区别是IronRuby利用了Microsoft最新推出的DLR,而Ruby.net则是完全利用原有的CLR实现的。IronRuby入门可参阅http://msdn.microsoft.com/zh-cn/magazine/dd434651.aspx。关于IronRuby的一些基本操作,本文不会涉及,本文仅仅是IronRuby对Ruby操作的一个具体实例。其中包括对所有Ruby类的类名,方法名以及参数列表的获取与显示相关的树结构。究其原因采用IronRuby来进行操作,主要是因为通过Ruby的反射可以获取到Ruby方法名列表,但是获取不到方法的参数列表与参数名称。此文仅供参考,因为本人也对IronRuby接触不是很久,基本上是摸索出来的,难免会有错误的地方。

二、类图设计

相关类图设计如下,其中RubyScriptEngine主要负责通过IronRuby来获取和构造相关的类名、方法名与参数列表以及之间的相关关系。TreeDrawer主要负责设计类名、方法名与参数列表相对应的树形结构图。

时间: 2024-11-01 06:31:36

C#中IronRuby实现对Ruby类相关信息的树结构显示的相关文章

ae-在WPF中怎么实现对AE的链接?初学者求帮助

问题描述 在WPF中怎么实现对AE的链接?初学者求帮助 wpf中怎么实现和AE的链接,怎么让AE在wpf中使用?即怎么链接axmapcontrol?怎么样编写代码呢?初学者求帮助

怎样从Servlet API 中得到 API提供商的相关信息

问题描述 我的项目有集群环境,也有单机环境,所以怎样从Servlet API 中得到 API提供商的相关信息,这样我就不用加额外配置进行区分,而且在测试时也可以自动切换. 解决方案 这个应该可以得到:javax.servlet.ServletContext.getServerInfo();

奇怪,page_Load中引入一个验证码的类文件,界面只显示验证码,却看不到登陆界面,如用户名和密码控件,帮帮忙!谢谢

问题描述 这是生成验证码的类(部分),运行可以得到验证码publicclassValidatenumimage{privatestringGenerateCheckCode(){intnumber;charcode;stringcheckCode=String.Empty;System.Randomrandom=newRandom();for(inti=0;i<5;i++){number=random.Next();if(number%2==0)code=(char)('0'+(char)(nu

ruby类实例变量魔法的详解

学习ruby类相关的语法遇到的关于类相关变量的一点小体会. ruby很灵活,语法看似很随意,比如看下下面的代码 class Foo     attr_accessor :name     def initialize         @name = '小明'     end     def say         puts @name         puts self.name         puts name     end end Foo.new.say 执行这些代码将得到如下输出: 小

姚金刚:谈谈百度的最相关信息

今天在百度搜索"2010年新上市公司",突然发现百度出现了一个"2010年新上市公司的最相关信息"链接,如下图所示,不知道对于这个细微的变化有多少人去注意到,现在我们就谈谈这个百度相关信息. 现在可以确认的是,百度的最相关信息就是百度相关新闻的改版,但是点击进去之后并非是进入了百度新闻,而是将文章类的页面排在了最前面,进入百度最相关信 息搜索结果页面,可以很容易发现,在这个结果列表里全是与这个关键词相关的内容页面,没有一个网站首页或者无关的链接.搜索"百度

asp.net web开发中实现对office文档(word、excel)进行网页内编辑

问题描述 asp.netweb开发中实现对office文档(word.excel)进行网页内编辑,希望能给出具体实例源码,不甚感谢! 解决方案 解决方案二:顶一下解决方案三:用控件www.ntko.com*****************************************************************************欢迎使用CSDN论坛专用阅读器:CSDNReader(附全部源代码)http://www.cnblogs.com/feiyun0112/arc

java中利用List的subList方法实现对List分页(简单易学)_java

以下是介绍利用List的subList方法实现对List分页,废话不多说了,直接看代码把 /** *//** * List分页 * 实现:利用List的获取子List方法,实现对List的分页 * @author 显武 * @date 2010-1-8 16:27:31 * */ import java.util.ArrayList; import java.util.List; public class PageModel { private int page = 1; // 当前页 publ

如何在php服务器程序中实现对POST的结果返回

问题描述 如何在php服务器程序中实现对POST的结果返回 各位大神,我在做一个简单的PHP服务器程序,接收到另一方通过POST发送过来的参数,我对参数进行处理后,返回一个结果值给对方.但是我只知道通过$_POST来获得参数,不知道怎么发送结果值给对方. 解决方案 echo $变量 即可 解决方案二: 是的,对方可以直接获取response信息得到你输出的变量 解决方案三: 你的意思是我在服务器程序中echo $变量了,对方通过POST执行的结果就能收到$变量? 解决方案四: echo exit

VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中

问题描述 VC++:选择组合框中的条件实现对access数据库文件的自动查询并显示到编辑框中 请教下大家:如标题 当鼠标选择组合框下拉列表中的条件时,自动根据下拉框条件查询ACCES数据库中的数据,并将查询的结果显示到编辑框中去,谢谢! 解决方案 http://blog.csdn.net/wenluderen/article/details/39029649 解决方案二: http://blog.csdn.net/yunqi415/article/details/6963720