通过反射设置对象的DateTime属性值
本文关键字:DateTime 属性 对象 反射 设置 | 更新日期: 2023-09-27 18:13:04
我想将对象的所有DateTime属性设置为默认日期。但是,如果我尝试通过反射设置这些值,就会得到异常:"对象不匹配目标类型。"
private void SetDefaultValues()
{
DateTime dt = DateTime.Parse("1/1/2000", new CultureInfo("en-US", true));
foreach (PropertyInfo p in this.GetType().GetProperties())
{
if (p.PropertyType.FullName == "System.DateTime")
{
p.SetValue(dt, typeof(DateTime), null);
}
}
}
我在做/想一些根本不正确的事情吗?
参数需要调整;第一个是目标 -我假设这里是this
;其中秒为值(dt
)。最后一个与"索引器"有关——在这里可能不适用。
p.SetValue(this, dt, null);