【发布时间】:2011-12-26 08:56:24
【问题描述】:
我是 C# 反射的新手,有类似的东西:
class A
{
DateTime _time = DateTime.Now;
public DateTime Time
{
set
{
_time = value;
}
get
{
return _time;
}
}
}
这个方法在应用程序的某个地方:
public Type GetSomeType(int num)
{
switch (num)
{
case 0:
DateTime time = DateTime.Now;
return time.GetType();
case 1:
int i = 5;
return i.GetType();
default:
return null;
}
}
我正在尝试使用 GetSomeType 方法的结果设置 A 类的 Time 属性:
A MyClass = new A();
MyClass.Time = (DateTime)GetSomeType(0); //Clearly, this does not work
我不知道这是否可能,还是我完全错了?
在我的实际应用程序中,由于我使用的是PropertyInfo,所以它更加复杂,但现在我很乐意掌握这个概念。
谢谢
于尔根
【问题讨论】:
-
你为什么要这样做?必须有充分的理由使用反射。
-
而您正在尝试将类型分配给 DateTime 属性,这没有任何意义。您想在这里解决哪个问题?
-
你目前只是获取类型,我想你想获取属性的值?
-
是的,我喜欢将返回的 Type 的值分配给属性。我不知道如何以通用方式做到这一点。
标签: c# reflection properties