C# 多属性的非序列化

C# 多属性的非序列化,c#,nonserializedattribute,C#,Nonserializedattribute,我是否必须为类的每个属性放置[非序列化] [NonSerialized] public Cell Owner; [NonSerialized] public double Time 如果查看属性定义(): AttributeTargets.Field告诉您它可以在字段上使用,并且不可继承 因此,您必须在不希望可序列化的字段上使用它。是的,您必须(如果您不希望所有这些字段序列化)否;只有那些你不想被序列化的。另外,这些是字段,而不是属性。[NonSerialized]建议您使用的是BinaryF

我是否必须为类的每个属性放置[非序列化]

[NonSerialized]
public Cell Owner;
[NonSerialized]
public double Time

如果查看属性定义():

AttributeTargets.Field
告诉您它可以在字段上使用,并且不可继承


因此,您必须在不希望可序列化的字段上使用它。

是的,您必须(如果您不希望所有这些字段序列化)否;只有那些你不想被序列化的。另外,这些是字段,而不是属性。
[NonSerialized]
建议您使用的是
BinaryFormatter
,在这种情况下,我认为另一个重要的建议是:在这方面要特别小心-它可能很脆弱。就我个人而言,我总是建议人们使用不同的序列化程序;除此之外,几乎没有其他序列化程序。除了
NetDataContractSerializer
——也不要使用它;尤其是我有一份舞会的名单。类保存位置、速度和其他杂项的信息。球的性质。我想随时保存/恢复。恢复时,我只需要知道位置和速度。除了序列化之外,您是否建议使用其他安全、简单的方法?因为我不是一个程序员,我的主要目的是做其他事情。我不想被编程实践和代码行淹没:)
[AttributeUsageAttribute(AttributeTargets.Field, Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class NonSerializedAttribute : Attribute