WriteOnly (Visual Basic)

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

Observações

Regras

Contexto da Declaração. Você pode usar WriteOnly apenas no nível do módulo. Isso significa que o contexto da declaração para uma WriteOnly propriedade deve ser uma classe, estrutura ou 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ê quer que o código de consumo seja capaz de definir um valor, mas não descobrir o que é. Por exemplo, dados sensíveis, como um número de registro social ou uma senha, precisam ser protegidos contra acesso por qualquer componente que não o definiu. Nesses casos, você pode usar uma WriteOnly propriedade para definir o valor.

Importante

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

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

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

  • Encriptação. Armazene todos os dados confidenciais em formato criptografado em vez de texto sem formatação. Se o código malicioso de alguma forma ganha acesso a essa área da memória, é mais difícil fazer uso dos dados. A criptografia também é útil se for necessário serializar os dados confidenciais.

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

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

O WriteOnly modificador pode ser usado neste contexto:

Declaração de Propriedade

Ver também