使用Mono.Cecil进行NonSerializedAttribute注入

时间:2015-10-24 15:21:04

标签: c# serialization mono.cecil binaryformatter

我发布了一个post build任务,它使用Mono.Cecil在一些自定义字段上注入NonSerializedAttribute以进行二进制序列化。使用ILSpy工具我看到该属性被注入,但是当我运行应用程序时,我得到SerializationException,其中包含该属性的类型未标记为serialiazable的信息,这是正确的,但这是正确的。为什么我注入了NonSerializedAttribute

小代码插图:

public class NonSerializableType
{
   ....
}

[Serializable]
public class SerializableType
{
    private NonSerializableType _data;

    public NonSerializableType Data
    {
        get { return _data; }
        set { _data = value; }
    }
 }

注入后,我可以在NonSerializedAttribute字段上看到_data(使用ILSpy),但它在运行时无效。有什么想法吗?

0 个答案:

没有答案