草庐IT

nonserializedattribute

全部标签

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