我们可以更改属性信息模式(可以在扩展方法中将Can Write属性覆盖为true)

时间:2018-04-25 09:31:50

标签: .net datetime propertyinfo

我有一种扩展方法,通过它我可以将日期时间转换为通用/本地时区。我遇到一个问题,每当我将日期时间列表传递给此扩展方法时,它无法转换,我在此行上收到异常消息

Type type = record.GetType();
foreach (var property in type.GetProperties())
{
if (property.PropertyType == typeof(DateTime) && ((DateTime)property.GetValue(record, null)) != DateTime.MinValue)
{
property.SetValue(record,                                                 
 ((DateTime)property.GetValue(record, null)).ToUniversalTime());
}
}

在Property.SetValue行上,我无法设置其值,因为在这种情况下property.CanWrite为false。我只是在传递日期时间列表并迭代其项目时​​才遇到此问题。

0 个答案:

没有答案