IronPython初体验和实战集合等类型转换和类型匹配
人老了,做什么都累~学到了这么多技术,从最早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初体验和实战集合等类型转换和类型匹配的更多相关文章
- IronPython初体验
介绍 在 C# 程序中嵌入 IronPython 得到了很好的支持.在本教程中,我们将展示如何完成这个项目. 首先,我们将展示两个非常基本的例子,说明如何执行一个不导入任何模块的非常简单的脚本.然后, ...
- Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...
- Python+Flask+Gunicorn 项目实战(一) 从零开始,写一个Markdown解析器 —— 初体验
(一)前言 在开始学习之前,你需要确保你对Python, JavaScript, HTML, Markdown语法有非常基础的了解.项目的源码你可以在 https://github.com/zhu-y ...
- 【全面解禁!真正的Expression Blend实战开发技巧】第七章 MVVM初体验-在DataGrid行末添加按钮
原文:[全面解禁!真正的Expression Blend实战开发技巧]第七章 MVVM初体验-在DataGrid行末添加按钮 博客更新较慢,先向各位读者说声抱歉.这一节讲解的依然是开发中经常遇到的一种 ...
- dubbo实战之一:准备和初体验
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- Dubbo基础一之实战初体验
本以为写这个小作文没什么难度的,可是好像并不是.前段时间重心放在驾考科目二,就想着小作文科二考过了再写也不是事,因为都实战过了.今天想着写却发现脑袋里啥都想不起来了,得翻项目和笔记回忆一下.所以还是那 ...
- Flume 实战(1) -- 初体验
前言: Flume-ng是数据收集/聚合/传输的组件, Flume-ng抛弃了Flume OG原本繁重的zookeeper和Master, Collector, 其整体的架构更加的简洁和明了. 其基础 ...
- Docker深入浅出系列 | 容器初体验
目录 Docker深入浅出系列 | 容器初体验 教程目标 预备工作 容器与虚拟化技术 什么是Docker 为什么要用Docker 事例 什么是容器镜像和容器 容器与虚拟机的区别 Vagrant与Doc ...
- pytorch入门2.0构建回归模型初体验(数据生成)
pytorch入门2.x构建回归模型系列: pytorch入门2.0构建回归模型初体验(数据生成) pytorch入门2.1构建回归模型初体验(模型构建) pytorch入门2.2构建回归模型初体验( ...
随机推荐
- redis 错误。
MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Com ...
- leetcode Linked List Cycle python
# Definition for singly-linked list. # class ListNode(object): # def __init__(self, x): # self.val = ...
- php分页类及其实现原理
/** * * 实现思路:分页显示拆分 : 1...上页 12 13 14 15 [16] 17 18 19 20 ...100 下页 * * function htmlPart1() : 上页 * ...
- css3之border-color
-moz-border-top-colors:上边框-moz-border-right-colors:右边框-moz-border-bottom-colors:下边框-moz-border-left- ...
- 通过 IP 访问谷歌
最近貌似谷歌都不能访问,对于我等经常使用谷歌的人说不是件好事,毕竟谷歌比百度专业,好在有解决办法: 1. 找到文件:C:\Windows\System32\drivers\etc\hosts 2. 把 ...
- codeforces 10 D. LCIS LCIS O(n^2)算法
题目链接 给出两个序列, 求出他们的最长公共上升子序列. 两层循环, 内层循环j, 外层i. 如果a[i] == b[j], 那么dp[j] = max(dp[j], dp[best]+1), bes ...
- pickle模块
在编程中,如果存在大的列表或者字典,可以在python中引入pickle 模块: 例如:将下边这组列表保存到文件当中:[1, 2, 'xiaomao', '小狗'] 程序: import pickle ...
- larbin源码之global.h
/** This represent a connection : we have a fixed number of them * fetchOpen links them with servers ...
- Sencha Touch对DOM的访问及控制
HTML代码: <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- python encode和decode函数说明【转载】
python encode和decode函数说明 字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在p ...