Compartilhar via


Serialização seletiva

Uma classe geralmente contém os campos que não devem ser serializados. Por exemplo, presuma que uma classe armazene uma ID de thread em uma variável de membro. Quando a classe é desserializada, o thread que armazenou o ID para quando a classe foi serializada pode não estar mais em execução; portanto, serializar esse valor não faz sentido. Você pode impedir que variáveis de membros sejam serializadas marcando-as com o atributo NonSerialized da seguinte maneira.

[Serializable]
public class MyObject 
{
  public int n1;
  [NonSerialized] public int n2;
  public String str;
}

Se possível, crie um objeto que possa conter dados confidenciais de segurança não serializáveis. Se o objeto tiver que ser serializado, aplique o atributo NonSerialized em campos específicos que armazenam dados confidenciais. Se você não excluir esses campos da serialização, esteja ciente de que os dados que eles armazenam serão expostos em qualquer código que tenha permissão para serializar. Para obter mais informações sobre como escrever um código de serialização segura, consulte Segurança e serialização.

Consulte também

Conceitos

Segurança e serialização

Outros recursos

Serialização binária

Remote Objects

Serialização XML e SOAP