Partilhar via


Somente-leitura

Especifica que uma propriedade pode ser gravada mas não lida.

Comentários

Regras

Contexto da Declaração. Você pode usar WriteOnly somente em nível de módulo.Isso significa que o contexto da declaração para uma propriedade WriteOnly deve ser uma classe, estrutura ou módulo e não um arquivo de código-fonte, namespace ou procedimento.

Você pode declarar uma propriedade como WriteOnly, mas não uma variável.

Quando usar WriteOnly

Às vezes você deseja que o código consumidor seja capaz de definir um valor mas não descobrir o que ele é.Por exemplo, dados confidenciais, como um CPF ou uma senha, precisam ser protegidos contra o acesso por qualquer componente que não os definiram.Nesses casos, você pode usar uma propriedade WriteOnly para definir o valor.

Observação de segurança:

Quando você define e usar um WriteOnly propriedade, considere as seguintes medidas protetoras adicionais:

  • Substituição. Se a propriedade for um membro de uma classe, permita que ele tenha como padrão NotOverridable e não o declare Overridable ou MustOverride.Isso impede que uma classe derivada faça um acesso indesejado através de uma substituição.

  • Nível de Acesso Se você mantiver a propriedade dos dados confidenciais em um ou mais variáveis, declare-as como Private (Visual Basic) para que nenhum outro código possa acessá-las.

  • Criptografia. Armazene todas os dados confidenciais em formato criptografado em vez de em texto sem-formatação.Se código mal-intencionado de alguma maneira obtiver acesso à essa área de memória, é mais difícil fazer uso dos dados.A criptografia também é útil se for necessário serializar os dados confidenciais.

  • Redefinindo. Quando a classe, estrutura ou módulo definindo a propriedade está sendo finalizado, redefina os dados confidenciais para valores padrão ou outros valores sem-sentido.Isso proporciona proteção extra quando essa área da memória é liberada para acesso geral.

  • Persistência. Não mantenha quaisquer dados confidenciais, em disco por exemplo, se você pode evitá-lo.Além disso, não grave nenhum dado confidencial na Área de transferência.

O modificador WriteOnly pode ser utilizado neste contexto:

Propriedade declaração

Consulte também

Referência

ReadOnly (Visual Basic)

Private (Visual Basic)

Palavras-chave Linguagem Visual Basic