人老了,做什么都累~学到了这么多技术,从最早C到C++再到JAVA再到C#,最终都是为了改善产品,改善系统的可维护性。众所周知C#,C++,C都是强类型语言,什么情况都得定义一些实体类来改变业务模型,虽然C#4.0增加了很多runtime功能,但是要和脚本(比如PHP)比起来,真的还不够完美。就比如我想根据业务逻辑生成一段CS代码。。。肿么办?难道还的打包成程序集然后在程序里加载跑起来,这显然很不现实。如果遇到一些BT的业务逻辑经常修改和调整,那就彻底崩溃了,为了解决项目中遇到的这些问题(在不编译的情况下随意改变业务逻辑,或者动态解析窗体控件,动态生成SQL)。找了很多资料,最早是CODEDOM,到现在DLR!

基于DLR的运行时脚本有RUBY,python,js。不过通过资料收集发现JS还不够完美,虽然我很想用JS,哎~无奈的学习python

说了这么多开始把 关键词 IronPyth

IronPyth干什么的我这里就不多说了

1:环境

xp

vs2010

Ironpython 2.7.3

首先安装Python Tools for Visual Studio。我用VS2010  选择2010版本

下载地址:http://pytools.codeplex.com/releases/view/103102

然后安装python解释器  我这里用的NET实现的Python,因为要和C#交互~图个稳当

CPython
这是原生Python解释器.    我们推荐 32-bit 3.3 or 2.7 版本 为了更好的兼容性. 
All versions: http://python.org/download/ 
IronPython
.NET实现的Python. 最好的与CSharp互动,我们推荐 2.7.3 版本 
IronPython 2.7.3 32- and 64-bit Windows Installe

2:实战

python代码 保存为test.py

def test():
return "test"

C# 代码

ScriptRuntime rtmPy = Python.CreateRuntime();
dynamic obj = rtmPy.UseFile("test.py");
MessageBox.Show(obj.test());

今天就写到这里吧,还有很多细节~下次补上

IronPython初体验和实战集合等类型转换和类型匹配的更多相关文章

  1. IronPython初体验

    介绍 在 C# 程序中嵌入 IronPython 得到了很好的支持.在本教程中,我们将展示如何完成这个项目. 首先,我们将展示两个非常基本的例子,说明如何执行一个不导入任何模块的非常简单的脚本.然后, ...

  2. Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  3. Python+Flask+Gunicorn 项目实战(一) 从零开始,写一个Markdown解析器 —— 初体验

    (一)前言 在开始学习之前,你需要确保你对Python, JavaScript, HTML, Markdown语法有非常基础的了解.项目的源码你可以在 https://github.com/zhu-y ...

  4. 【全面解禁!真正的Expression Blend实战开发技巧】第七章 MVVM初体验-在DataGrid行末添加按钮

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第七章 MVVM初体验-在DataGrid行末添加按钮 博客更新较慢,先向各位读者说声抱歉.这一节讲解的依然是开发中经常遇到的一种 ...

  5. dubbo实战之一:准备和初体验

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. Dubbo基础一之实战初体验

    本以为写这个小作文没什么难度的,可是好像并不是.前段时间重心放在驾考科目二,就想着小作文科二考过了再写也不是事,因为都实战过了.今天想着写却发现脑袋里啥都想不起来了,得翻项目和笔记回忆一下.所以还是那 ...

  7. Flume 实战(1) -- 初体验

    前言: Flume-ng是数据收集/聚合/传输的组件, Flume-ng抛弃了Flume OG原本繁重的zookeeper和Master, Collector, 其整体的架构更加的简洁和明了. 其基础 ...

  8. Docker深入浅出系列 | 容器初体验

    目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...

  9. pytorch入门2.0构建回归模型初体验(数据生成)

    pytorch入门2.x构建回归模型系列: pytorch入门2.0构建回归模型初体验(数据生成) pytorch入门2.1构建回归模型初体验(模型构建) pytorch入门2.2构建回归模型初体验( ...

随机推荐

  1. android入门——BroadCast(1)

    使用广播要定义一个广播接收类,如 package com.example.wkp.broadcast; import android.content.BroadcastReceiver; import ...

  2. OC中对象拷贝概念

    OC中的对象拷贝概念,这个对于面向对象语言中都会有这种的问题,只是不同的语言有不同的解决方式:C++中有拷贝构造函数,Java中需要实现Cloneable接口,在clone方法中进行操作.但是不过OC ...

  3. 网络分析shell脚本(实时流量+连接统计)

    介绍一个强大的分析网络的shell脚本,此脚本是从EZHTTP拆分出来的,觉得有必要单独介绍下.脚本运行效果截图: 此脚本包含的功能有: 1.实时监控任意网卡的流量 2.统计10秒内平均流量 3.统计 ...

  4. MyEclipse中jquery文件报错

  5. mysql开启慢查询方法

    1,配置开启 Linux: 在mysql配置文件my.cnf中增加 log-slow-queries=/var/lib/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会 ...

  6. WARNING:Could not increase the asynch I/O limit to 64 for SQL direct I/O. It is set to 0

    今天是2014-01-07,解决一下hp-unix异步I/O问题. 从trace日志中看: WARNING:Could not increase the asynch I/O limit to 32 ...

  7. hadoop笔记之Hive入门(Hive的体系结构)

    Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...

  8. Android Studio git ignore

    # Built application files *.apk *.ap_ # Files for the Dalvik VM *.dex # Java class files *.class # G ...

  9. php数组分页类

    <?php class ArrayPage{ public $totalPage;//全部页数 public $lists;//每页显示数目 public $arr = array();//分页 ...

  10. urllib2.URLError: <urlopen error [Errno 104] Connection reset by peer>

    http://www.dianping.com/shop/8010173 File "综合商场1.py", line 152, in <module>    httpC ...