Compartilhar via


WriteOnly (Visual Basic)

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

Comentários

Regras

Contexto da declaração. Você só pode usar WriteOnly no nível do módulo. Isso significa que o contexto de declaração de uma propriedade WriteOnly precisa ser uma classe, uma estrutura ou um módulo, e não pode ser um arquivo de origem, namespace ou procedimento.

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

Quando usar WriteOnly

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

Importante

Ao definir e usar uma propriedade WriteOnly, considere as seguintes medidas de proteção adicionais:

  • Substituição. Se a propriedade for membro de uma classe, permita que o padrão seja NotOverridable e não a declare Overridable ou MustOverride. Isso impede que uma classe derivada crie acesso indesejado por meio de uma substituição.

  • Nível de acesso. Se você manter os dados confidenciais da propriedade em uma ou mais variáveis, declare-os privados para que nenhum outro código possa acessá-los.

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

  • Redefinição. Quando a classe, a estrutura ou o módulo que define a propriedade estiver sendo encerrado, redefina os dados confidenciais para valores padrão ou para outros valores sem sentido. Isso fornece proteção extra quando essa área de memória é liberada para acesso geral.

  • Persistência. Não persista nenhum dado confidencial, por exemplo, no disco, se você puder evitá-los. Além disso, não escreva dados confidenciais na Área de Transferência.

O modificador WriteOnly pode ser usado neste contexto:

Instrução Property

Confira também