SerializableAttribute
全部标签 我正在尝试在C#类库项目(最新的.NET版本)中使用[Serializable]属性,但它无法识别。据我所知,SerializableitsomethingthatbelongsinSystem.Runtime.SerializationSystem,但我已经使用了它,但它仍然不起作用。我正在其他项目(Unity)中使用它,但它在这里不起作用。有什么想法吗?usingSystem;usingSystem.Runtime;usingSystem.Xml.Serialization;usingSystem.Runtime.Serialization;usingSystem.Collecti
我很好奇为什么C#数组的IsSerializable属性返回true。数组没有任何Serializable属性,它们也没有实现ISerializable接口(interface),那么为什么要将IsSerializable属性设置为真?当我尝试下面的代码时,它在控制台中输出“True”:Console.WriteLine(newstring[0].GetType().IsSerializable);输出是:TrueTryitonline我的.NET运行时版本是3.5。 最佳答案 ArraysdoesnothaveanySeriali
我正在查看其他人的C#代码,在公共(public)枚举之前有以下几行:[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","4.0.30319.1")][System.SerializableAttribute()][System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)][System.Xml.Serialization.XmlRootAttribute(Namespace="",IsNullable=false)]有人能用简单的英语解释一下Serializab
我正在查看其他人的C#代码,在公共(public)枚举之前有以下几行:[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd","4.0.30319.1")][System.SerializableAttribute()][System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true)][System.Xml.Serialization.XmlRootAttribute(Namespace="",IsNullable=false)]有人能用简单的英语解释一下Serializab
根据我的理解,SerializableAttribute不提供编译时检查,因为它都是在运行时完成的。如果是这样,那么为什么需要将类标记为可序列化?难道序列化程序不能只是尝试序列化一个对象然后失败吗?这不是它现在所做的吗?当某些东西被标记时,它会尝试并失败。如果必须将事物标记为不可序列化而不是可序列化不是更好吗?这样您就不会遇到库未将事物标记为可序列化的问题? 最佳答案 据我了解,SerializableAttribute背后的想法是为二进制序列化创建一个选择加入系统。请记住,与使用公共(public)属性的XML序列化不同,二进制序
根据我的理解,SerializableAttribute不提供编译时检查,因为它都是在运行时完成的。如果是这样,那么为什么需要将类标记为可序列化?难道序列化程序不能只是尝试序列化一个对象然后失败吗?这不是它现在所做的吗?当某些东西被标记时,它会尝试并失败。如果必须将事物标记为不可序列化而不是可序列化不是更好吗?这样您就不会遇到库未将事物标记为可序列化的问题? 最佳答案 据我了解,SerializableAttribute背后的想法是为二进制序列化创建一个选择加入系统。请记住,与使用公共(public)属性的XML序列化不同,二进制序
我有一个类,其中一个属性是枚举。像这样://Doineed[Serializable]publicenumSexEnum{Male,Female}[Serializable]publicclassPerson{stringName{get;set;}SexEnumSex{get;set;}}当我使用BinaryFormatter序列化Person时,我是否需要在枚举decleration处使用[Serializable]?没有它它也能正常工作,但为什么它允许枚举decleration中的[Serializable]属性? 最佳答案