草庐IT

NonSerialized

全部标签

c# - 自动实现的属性和序列化

我正在处理大量代码和标记类,我现在想使用序列化属性保留这些类。我还没有编写二进制序列化/反序列化引擎,所以我猜我会在完成后回答我自己的问题!-但我想如果可以的话,我会尝试在这里获得更早的回复。我遇到过一些包含属性的代码,例如:publicstringId{get;set;}“Id”是否被序列化?我知道编译器会自动创建一个类成员,但这是否正确序列化(因为类实例的所有数据成员都被写入存储)?感觉好像不会,因为您不能将序列化/非序列化属性放在属性上。提前致谢。 最佳答案 您可以使用[field:NonSerialized]属性将event

c# - 不使用 [Serializable] 时 [NonSerialized] 的好处

我正在查看我正在处理的项目中的一些现有代码,我发现了一个实现为:publicclassThingOne{privateintA;privateintB;[NonSerialized]privateSystem.Timers.Timertimer1;}它不应该看起来更像这样吗?[Serializable]publicclassThingOne{privateintA;privateintB;[NonSerialized]privateSystem.Timers.Timertimer1;}或者即使类本身不是可序列化的,添加[NonSerialized]是否还有一些额外的好处?

c# - 为什么我的属性声明 "field:"中需要 "[field:NonSerialized]"?

我在任何地方都找不到列为C#关键字的“字段”。有谁知道这件事的背景吗? 最佳答案 这是必要的,例如,如果您将事件标记为不可序列化。它指定了该属性适用的目标。它是属性目标语法的一部分。来自specification:attribute-target:fieldeventmethodparampropertyreturntype另请参阅NonSerializedAttribute的文档:ToapplytheNonSerializedAttributeclasstoanevent,settheattributelocationtofiel

c# - 如何忽略二进制序列化的事件类成员?

我需要避免序列化Event类成员,因为当事件由未标记为可序列化的对象处理时,序列化将失败。我尝试在Event类成员上使用NonSerialized属性,但编译失败。这行代码:PublicEventPropertyValueChanged()产生以下错误:Attribute'NonSerializedAttribute'cannotbeappliedto'PropertyValueChanged'becausetheattributeisnotvalidonthisdeclarationtype.PublicEventPropertyValueChanged()'compilesbutn

c# - 如何防止自动实现的属性被序列化?

如何防止自动实现的属性被二进制格式化程序序列化?[NonSerialized]属性只能与字段一起使用。并且在使用自动实现的属性时隐藏该字段。 最佳答案 它不支持自动实现的属性。您必须使用支持字段并设置NonSerializedAttribute在上面。publicclassClassWithNonSerializedProperty{[NonSerialized]privateobject_data;//BackingfieldofPropertyDatathatisnotserializedpublicobjectData{get

c# - 如何防止自动实现的属性被序列化?

如何防止自动实现的属性被二进制格式化程序序列化?[NonSerialized]属性只能与字段一起使用。并且在使用自动实现的属性时隐藏该字段。 最佳答案 它不支持自动实现的属性。您必须使用支持字段并设置NonSerializedAttribute在上面。publicclassClassWithNonSerializedProperty{[NonSerialized]privateobject_data;//BackingfieldofPropertyDatathatisnotserializedpublicobjectData{get

c# - 非序列化属性

当我写这样的代码时[XmlIgnore][NonSerialized]publicListparamFiles{get;set;}我收到以下错误:Attribute'NonSerialized'isnotvalidonthisdeclarationtype.Itisonlyvalidon'field'declarations.如果我写[field:NonSerialized]我收到以下警告'field'isnotavalidattributelocationforthisdeclaration.Validattributelocationsforthisdeclarationare'p

c# - 非序列化属性

当我写这样的代码时[XmlIgnore][NonSerialized]publicListparamFiles{get;set;}我收到以下错误:Attribute'NonSerialized'isnotvalidonthisdeclarationtype.Itisonlyvalidon'field'declarations.如果我写[field:NonSerialized]我收到以下警告'field'isnotavalidattributelocationforthisdeclaration.Validattributelocationsforthisdeclarationare'p