日期:2014-05-18  浏览次数:20876 次

C#中是否有像js中的eval一样的方法?
RT,可以把一段字符串转换成C#代码,

因为我有一个对象,但不知道该对象的所有公共属性叫什么,我还想获取该对象的所有公共属性的值。

属性的话,可以用PropertyInfo,System.Type的GetProperties()方法获取,但这个属性的值,我就不知道该如何获取了?

Js里面的话

可以这样
 
var obj={a:"1",b:"2"};
for(var i in obj)
{
  alert(i);
  alert(Eval("obj.")+i);
}

不知道C#里怎么样,我对反射还处于初级认知阶段

------解决方案--------------------
为什么不用反射?

反射最简单。
获取属性的值使用 GetValue 方法就可以了,你就差一步啊。
------解决方案--------------------
1、得到对象所有属性
2、通过属性名称去获得对应值

我一般都是通过反射去做的