.net - 我们可以更改属性信息模式吗(我们可以在扩展方法中将 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。我只在传递日期时间列表并迭代其项目时遇到此问题。
解决方案
推荐阅读
- r - 如何找到最接近的值并返回另一列的值?
- angular - 我可以更改角度应用程序中后退浏览器按钮的行为吗?
- django - Django:是否可以创建像 Profile Model 这样的模型,以便在注册时自动创建实例
- r - R - 二元运算符的非数字参数
- java - 带有属性的xml与带有jaxb的java对象
- git - 将另一个分支合并到主分支后,主分支未显示所有文件
- python - /account/register 处的 MultiValueDictKeyError
- moodle - Moodle 过滤器 - GROUP BY
- mocking - 无法在 Jest 中模拟日期/时刻
- ios - iOS 和 tvOS 的 Appstore 发布流程