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