- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C6207里也可以用上Eval函数了62
因为在我的某个工具包里需要能动态执行一段代码进行求值的功能,也就是类似于JAVA SCRIPT里的Eval函数和VB SCRIPT的Execute函数功能,但C#与VB.NET却没有类似的函数:( 只能手动编写。上网搜索了一下,幸运的从一个英文站点找到了:)代码量很少,它是通过调用JScript.NET里的Eval函数进行处理的,下面是代码(部分代码我修改与删减过,并非完整的原代码,在此感谢原作者scott):
usingusingusing///summary///////summarypublicclass///summary///////summary///param?name=statement表达式,如1+2+3+4/param///returns结果/returnspublicstaticobject?Eval(stringreturnEval,????????????????????????BindingFlags.InvokeMethod,nullnewobject[]?{?statement?}///summary///////summarystatic//构造JScript的编译驱动代码????????????CodeDomProvider?provider?=?CodeDomProvider.CreateProvider(JScript);????????????CompilerParameters?parameters;????????????parameters?=new?CompilerParameters();????????????parameters.GenerateInMemory?=true;????????????CompilerResults?results;????????????results?=?provider.CompileAssemblyFromSource(parameters,?_jscriptSource);????????????Assembly?assembly?=?results.CompiledAssembly;????????????_evaluatorType?=?assembly.GetType(Evaluator=?Activator.CreateInstance(_evaluatorType);????????}privatestaticobject?_evaluator?=nullprivatestatic?Type?_evaluatorType?=null///summary///////summaryprivatestaticreadonlystring?_jscriptSource?=@class?Evaluator??????????????{??????????????????public?function?Eval(expr?:?String)?:?String???????????????????{??????????????????????return?eval(expr);???????????????????}??????????????}
发表评论
直接调用即可.类似JS函数的eval函数使用.最简单的则是用于做数值计算或逻辑判断(当然可以更复杂!!如动态执行程序代码).如:?object v =?Evaluator.Eval((1+2+3)*4);?则v的值为24?或者做逻辑判断:?object v =?Evaluator.Eval(1100);?则v的值为false?等等..
public function Eval(expr : String) : String?{?return eval(expr);?}?其实还可以执行其它的framework中的类库,不单单是简单逻辑运算。前提是jscript引擎可以识别表达式中的类或者函数。即表达式中的标志符必须是fullname类或者在编译jscript代码时候引用命名空间,这样就可以识别已命名空间的类的shotname。要执行动态表达式代码,最好的方法还是ironpython.
支持模板目录, 模板的图片目录源码images/logo.gif 实际变成 template/sofut/images/logo.gif 这样可视化就强多了! (Else)
希望能支持ssi !--#include file=search.html-- (Else)
楼主你好,从stringtemplate换到你的模板引擎,有一点疑问,我用的是MVC,现在想用你的模板引擎来做多用户皮肤的选择。现在出现了一个问题,在扩展MVC引擎的
您可能关注的文档
最近下载
- BDA-淡马锡中国旅游市场洞察研究China's Travel Industry-20151130.pptx VIP
- 《建筑材料基础知识》课件.ppt VIP
- BDA-淡马锡中国娱乐行业发展洞察China Recreation Industry-20151130.pptx VIP
- 北京市八年级(下)期中考试英语试卷.docx VIP
- 二轮专题复习03 函数的定义域【二】训练题集【学生版】.docx VIP
- BDA-DST中国农产品行业及价值链解析研究EN-2016 02 06.pptx VIP
- 症瘕(子宫肌瘤)护理常规.pptx VIP
- BDA-ATHM中国二手车产业链全景图研究报告-20150519.pptx VIP
- 鲁画报社版 三年级下册心理健康教育 我能专注做事情 课件.pptx VIP
- 人畜饮水工程施工组织设计汇.doc VIP
文档评论(0)