当前位置:编程学习 > C#/ASP.NET >>

如何执行字符串中的代码(急)

VS2008下,请较这个问题

例如:

string str = "TextBox1.text='11111'";

如何去执行这个str,以达到TextBox1.text文本框的内容变成11111?

谢谢,非常着急 --------------------编程问答-------------------- 0分贴给个思路吧:
要对TextBox1.text='11111'这个字符串进行解析

解析出来 对象是TextBox1,ID编号  属性是Text,需要进行的操作是赋值

Page.Controls.FindControl("TextBox1")

然后遍历属性域 找到Text,并对其赋值操作即可   --------有点难度 --------------------编程问答-------------------- To:bo3235
谢谢你的回答,我遇到的这个问题虽然发生winform中,但是我相信很多朋友都遇到过这个问题,看似简单,其实复杂,其实string str是一个全局变量,里面保存一条执行语句例如TextBox1.text='11111',当条件满足的时候,就希望执行str中保存的语句,反射+动态编译,我试过用在生成类,执行文件或者dll的时候,利用反射去执行这个类或其中的方法,但是,纯粹执行str中的单条语句,我没有研究出来,盼好心人解决,谢谢 --------------------编程问答-------------------- - - , 好汗. 零分贴给个思路吧...  为了分而活在CSDN? --------------------编程问答-------------------- 太难了。搞了这么久程序都没遇到过 --------------------编程问答-------------------- 盼高手赐教,小弟万分感激 --------------------编程问答-------------------- 你有这样的需求只怪你的思路有问题 --------------------编程问答-------------------- 换种思路或是做法,避免这种需要.
你这个需求是怎么产生的呢? --------------------编程问答--------------------
引用 3 楼 melancholylp 的回复:
- - , 好汗. 零分贴给个思路吧...  为了分而活在CSDN?




这个题目本来就有难度,先是词法分析,然后再语法分析,最后翻译执行,这就是做一个赋值的编译器了(编译语言目前还做不到,如果是PHP的话就容易了),很简单吗?

为了分而活在CSDN?有必要吗?我是看没人回复就简短回复了下我自己的思路事的.

0分贴本来就是他自己觉得这个不重要,既然自己都不觉得重要,不重视,如果我们重视了反而觉得有问题,不是吗?如果他给100分,我可能看都不看,解决的人一堆,还用上我这个只会提想法的菜鸟吗?
给分是对别人劳动的一种肯定,不在多而在乎有,你说对吗?

如果你觉得值的做,也不用在那里汗了,有流汗的时间估计早就解答好了,我相信你的实力,melancholylp,加油做出来吧:) --------------------编程问答--------------------
引用 2 楼 esonzhouyu 的回复:
To:bo3235
谢谢你的回答,我遇到的这个问题虽然发生winform中,但是我相信很多朋友都遇到过这个问题,看似简单,其实复杂,其实string str是一个全局变量,里面保存一条执行语句例如TextBox1.text='11111',当条件满足的时候,就希望执行str中保存的语句,反射+动态编译,我试过用在生成类,执行文件或者dll的时候,利用反射去执行这个类或其中的方法,但是,纯粹执行str中的单条语句,我没有研究出来,盼好心人解决,谢谢

你可以尝试用脚本语言来做或AI语言来做,编译语言做起来难度颇大(我是菜鸟级的,可能判断不准确)
如果觉得可以的话,咨询下编译原理的相关高人 ,看看能不能从中找出来一种方法完美实现? --------------------编程问答-------------------- 谢谢大家,不给分是因为我新注册的,2分是今天才发现的,不好意思

赋值的编译器,我有点明白了,bo3235最后提示的脚本来实现,有一次在查找的时候看到过,我在试试看,谢谢大家 --------------------编程问答--------------------

有两种:
简单的
困难的

你要哪种?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,