网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.提取HTML代码中文字的C#函数.
.C#中从HTML生成DOM TreeView的代.
.C#将文件保存到数据库中或者从数.
.使用c#捕获windows的关机事件.
.采用C#泛型实现数据库之间的切换.
.C#分析数据库结构,使用XSL模板自.
.利用C#进行AutoCAD的二次开发(一.
.C#中接口的深入浅出.
.用C#实现在PowerPoint文档中搜索.
.在C#中把两个DataTable连接起来,.
.c#.net连接access操作类.
.对C#委托及事件委托的理解.
.C#中使用存储过程中的返回值.
.如何使用C#在发送往client的内容.
.用C#实现在Word文档中搜索文本.
.在dotnet下用c#编写下载器.
.用.NET开发MSN聊天机器人.
.在Linux中使用C#.
.在C#中应用哈希表(Hashtable) .
.序列化和反序列化XML应用程序设置.

C#与IronPython脚本进行数据交互示例

发表日期:2007-6-5


       单单执行脚本是没有什么意思的,最重要的是嵌入的脚本能和宿主语言进行交互,下面我就讲讲这方面的实现。

       IronPython脚本最优秀的地方就是与C#(或者说.net框架集)几乎无缝集成,C#实现的类很容易就传入到脚本中去。(目前唯感遗憾的是,IronPython脚本还没有支持嵌入版,希望不远的的将来能实现嵌入式版本)。

       这是宿主语言的代码:     

    public partial class Form1 : Form
    ...{
        public Form1()
        ...{
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        ...{
            PythonEngine scriptEngine = new PythonEngine();
            TestData td = new TestData();
            td.intNum = 10;

            scriptEngine.DefaultModule.Globals["td"] = td;
            scriptEngine.Execute(textBox1.Text);

            //显示intNum是否被脚本识别并改变
            MessageBox.Show(td.intNum.ToString());
        }
    }
    //数据交互类
    public class TestData
    ...{
        public int intNum = 0;
    }
     上面最关键的代码就是:scriptEngine.DefaultModule.Globals["td"] = td;

    scriptEngine.DefaultModule这是一个字典类,可以添加多个不同类型,供脚本使用。字典中的关键字与脚本中对象的名称保持一致(内容任意,可以和你传的对象名称不一样,关键看你的意愿了)即可。

上一篇:用.NET开发MSN聊天机器人 人气:9671
下一篇:C#3.0 中对象初始化器(Object Initializers)和集合初始化器(Collection Initializers) 人气:3954
浏览全部C#的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐