动态计算表达式

JavaScript中有eval函数可以在运行时编译并执行代码,而new Function()方法可以在运行时根据输入的字符串生成方法。.NET没有内置这样的支持。

我之前写了个LambdaParser来做这样的事,因为基于表达式树,2008不支持代码块,只支持表达式,(最明显的区别是代码块是多个句子,表达式只有一个句子),现在2010的表达式树可以表达代码块了,理论上讲这个LambdaParser便可以支持代码块了,于是我把名字改成了TextToDelegate,因为这样就不限于lambda表达式,也可以支持匿名委托。

其实为.NET提供这样功能的模块已经有了,就是flee,它是用VB.NET写的,基于IL实现。前段时间看了它的Demo,感觉很酷,便把它剽窃过来也作为我的Demo,顺便加上了动画支持,不知是否侵权。可以在这里下载源码:TextToDelegate

顺便,把这个Demo也移植成js版的放在这里供大家直接玩一下,点“生成图片”就明白了(需要支持canvas的浏览器,推荐chrome):


选择现有规则...
R:
G:
B:
如果觉得你自己写的式子效果不错,可以推荐给大家,我会把不错的集成到下拉框。
介绍一下:

转载于:https://www.cnblogs.com/zhucai/archive/2010/07/01/texttodelegate-demo.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值