日期:2014-05-17  浏览次数:20447 次

可能关于映射之类的问题

public partial class Cus
{
public String Name { get; set; }
public String Type{ get; set; }
}
 Cus obj = new Cus();
现在我想手动给Name赋值 
一般是这样赋值的
obj.Name = "张三";
但是现在我想这里的Name是我给的一个字符串
String _name = "Name";
obj. + _name = "张三";
_name = "Type";
obj. + _name = "分类一";
这样什么实现??

------解决方案--------------------
c#以及.net实在没有这个本事这样去动态搞变量命名。

你自己写一个这种功能编译器吧,只要有c#编译器生成的代码的十分之一的执行效率,就能卖给微软。
------解决方案--------------------
用 Dictionary<S, T> 或者 ExpandoObject
------解决方案--------------------
反射:
p = "Name";
v = "张三";
obj.GetType().GetPropertites(x => x.Name == p).First().SetValue(x, v, new object[] { });