DataContractSerializer
很乐意反序列化此类,包括只读字段:
[DataContract]
public class A
{
public A(int rof) => Rof = rof;
[DataMember]
private readonly int Rof;
}
它是如何做到的?它因快速而闻名,所以我认为它不使用FieldInfo.SetValue()
,是吗?
Expression.Assign()
似乎不起作用,也不会发出Stfld
。