首页新闻找找看学习计划

关于.NET反射的问题。牛人来解答。

0
[已解决问题] 解决于 2014-12-16 16:43

if (1 == 1)
Console.WriteLine("true");

这样会输出true

现在遇到这样的问题,就是代码里的条件是一个字符串,能否通过反射把字符串搞成代码,然后执行?就是下面这个意思:

if ("1 == 1") //这里做个什么事情,使 "1==1"成为代码并运行
Console.WriteLine("true");

.NET能实现吗?

Eysa的主页 Eysa | 初学一级 | 园豆:70
提问于:2014-12-11 09:44
< >
分享
最佳答案
0

可以的,搜索一下.net 动态编译看看。

奖励园豆:5
achu.me | 小虾三级 |园豆:877 | 2014-12-11 09:53
其他回答(3)
0

把字符串拆解,然后对比等号两边的元素是否相等。

 

            string str = "a=a";              //你的字符串
            string[] strList = str.Split('=');        //用等号拆解    
            bool flag = false;              //用来保存等号两边是否相等
            if (strList[0].Equals(strList[1]))       //对比等号两边的元素
            {
                flag = true;                //如果等号两边相等,说明这个条件为true
            }
            if (flag)
            {
                MessageBox.Show("条件为true");
            }

chengeng | 园豆:292 (菜鸟二级) | 2014-12-11 10:06
0

1.自己写一个语法解析,解析为 IL动态方法, 表达式树,

2.使用现有的脚本语言解析库

吴瑞祥 | 园豆:28729 (高人七级) | 2014-12-11 10:31
0

CodeDom

jello chen | 园豆:7091 (大侠五级) | 2014-12-11 10:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册