首页 > 解决方案 > 我们可以更改属性信息模式吗(我们可以在扩展方法中将 Can Write 属性重写为 true)

问题描述

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

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。我只在传递日期时间列表并迭代其项目时​​遇到此问题。

标签: .netdatetimepropertyinfo

解决方案


推荐阅读