浏览.NET参考源以获取有关ClaimsIdentity
类的一些详细信息,我注意到了这一点:
[NonSerialized]
const string PreFix = "System.Security.ClaimsIdentity.";
[NonSerialized]
const string ActorKey = PreFix + "actor";
在NonSerializedAttribute
上使用const
可能是什么原因?
答案 0 :(得分:0)
const值是可序列化的,除非它们附加了NonSerializedAttribute。编写该代码的人,决定他们不希望序列化这些值。
阅读MSDN docs on the SerializableAttribute,特别是:
将SerializableAttribute属性应用于某个类型时,默认情况下会对所有私有和公共字段进行序列化。您可以通过实现ISerializable接口来更精细地控制序列化,以覆盖序列化过程。
答案 1 :(得分:0)
Const适用于整个类,而不是与实例绑定。