WinForm WPF基于一个脚本引擎(ReoScript)的窗体设计器开发总结(一)
2021-04-11 16:27
标签:引用 down demo new 界面 alt 就会 设置 ble 0x00 ReoScript 脚本引擎 真的这个脚本引擎一点都不好用,开发时遇到问题,心中总有一万个草泥马飞过,好在二次开发对脚本运行原理也有了更多的理解, 这本身就是一个很好的学习经历和过程。 下面大体介绍一下这个引擎和使用的方法。 ReoScript 是一个类JS的脚本引擎,但是可以与CLR 进行交互。 官方自带有例子,我挑几个重点讲一下。 1. 引用CLR 空间,可以绑定部分控件事件 官方CLREvent demo
执行脚本后,点击LinkLabel 后Click 事件被触发,事件绑定这里是个坑,后文会在开发设计器的时候会说到。 CLRTypeImporting 这里也有坑。 这里运行后,脚本创建了一个窗体,但是在脚本中并不能支持所有的界面控件和控件属性,原因在于脚本引擎有自己的类型系统,和js 类似, 这是造成了无法与CLR 进行比较好的交互的原因,比如num类型内部实际上 是CLR 的double 类型,在一些要 使用 integer ,decimal 之类的时候就会出现问题, 比如在脚本中new 一个numbericupdown控件 的时候,你会发现无法正常设置 value 等属性,很多控件无法正常使用,弊端更大的在与, 虽然能够 引用的CLR 空间, 但是无法使用 那些比较重要的类型转化方法,当然 脚本引擎自己也有提供类型转换,但是不可能有 clr string 类型里的方法好用,是吧, 同时,你无法通过 使用 var dec =new decimal(10); 来达到扩展的目的。 上面所讲的的两个坑,对于我们实际的项目 事实上是比较 严重的,我个人 实际上是推荐 使用 CSharpScript 的一些脚本引擎来做我们的项目 ,与CLR 的交互肯定会更好, 或者使用CSharp 的一些动态编译来做这个项目可能会更好。但是考虑到老大是做java的,对 java 的类似技术栈肯定是比较推崇的,而且这家公司就我和老大在做.net , 老大只是兼顾做一下,大部分在做java。基于种种原因,我只能硬着头皮在接着做下去。 WinForm WPF基于一个脚本引擎(ReoScript)的窗体设计器开发总结(一) 标签:引用 down demo new 界面 alt 就会 设置 ble 原文地址:https://www.cnblogs.com/Lite/p/9023263.html
文章标题:WinForm WPF基于一个脚本引擎(ReoScript)的窗体设计器开发总结(一)
文章链接:http://soscw.com/index.php/essay/74344.html