NonSerialized атрибут на константу - PullRequest
0 голосов
/ 21 мая 2018

Просмотр справочного источника .NET для получения более подробной информации по классу ClaimsIdentity. Я заметил это:

[NonSerialized]
const string PreFix = "System.Security.ClaimsIdentity.";
[NonSerialized]
const string ActorKey = PreFix + "actor"; 

Какая может быть причина для использования NonSerializedAttribute в * 1008?*

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Const для всего класса и не связаны с экземпляром.

0 голосов
/ 21 мая 2018

константные значения являются сериализуемыми, если к ним не прикреплен атрибут NonSerializedAttribute.Кто бы ни написал этот код, он решил, что им не нужно сериализовать эти значения.

Прочитайте документы MSDN на SerializableAttribute , а именно:

Когда выПримените атрибут SerializableAttribute к типу, все закрытые и открытые поля по умолчанию сериализуются.Вы можете более детально управлять сериализацией, реализуя интерфейс ISerializable для переопределения процесса сериализации.

...