【发布时间】:2015-08-23 09:47:32
【问题描述】:
给定一个FieldInfo,可以设置一个C# readonly/CLR InitOnly 成员字段。
我何时以及为什么要这样做? 对于序列化程序,我创建了一个对象类型的空实例,然后填充数据流中的所有字段。
到实际问题:
还有没有办法使用 Linq 表达式来实现这一点?
如果您传递指向 readonly/initonly 字段的表达式,Expression.Assign 会导致异常。
或者我是否必须求助于 IL emit 来执行此操作(比 FieldInfo 更快)
【问题讨论】:
-
我对 LINQ 不是很熟悉,但是有没有办法在初始化时(即在创建对象时)只分配初始化字段,而不是事后尝试?
标签: c# reflection il linq-expressions