C#:如何检查实例是否可序列化

时间:2010-11-12 09:38:49

标签: c# asp.net

如何检查实例是否标记为可序列化?

由于

4 个答案:

答案 0 :(得分:5)

typeof(MyClass).IsSerializable;

答案 1 :(得分:2)

由于您要求的是实例,而不是课堂,因此正确答案是:

o.GetType().IsSerializable;

答案 2 :(得分:1)

你尝试过吗?

o.GetType().FindInterfaces().Any(x => x == typeof(ISerializable));

答案 3 :(得分:1)

        Type t = typeof(x) 
        for fields:
        t.GetFields().Where(p=> !p.Attributes.HasFlag(FieldAttributes.NotSerialized));
        for type
        t.Attributes.HasFlag(TypeAttributes.Serializable);