日期:2014-05-18 浏览次数:21028 次
interface IName
{
string name { get; set; }
}
------解决方案--------------------
用反射
PropertyInfo p = obj.GetType().GetProperty("Name");
c2.name=(String/*类型转换*/)p.GetValue(obj.GetValue());
------解决方案--------------------
反射最灵活.
------解决方案--------------------
1,如果你需要保证T一定有Name属性,那么就用接口。
2,如果你不需要T一定有Name属性,那么就用反射。
------解决方案--------------------
如果选择 .net 4.0 框架,还可以这样
public static void FillTD<T>(T obj)
{
class2 c2 = new class2();
dynamic d = obj;
c2.name = d.name;
}