WriteOnly (Visual Basic)
Especifica que uma propriedade pode ser gravada mas não lida.
Comentários
Regras
Contexto da Declaração. Você pode usar WriteOnly somente no 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 usa uma propriedade WriteOnly, considere as seguintes medidas de proteção adicionais: |
Substituindo. Se a propriedade for um membro de uma classe, permitir que ele seja o padrão NotOverridable (Visual Basic)e não o declara 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 os dados confidenciais da propriedade em uma ou mais variáveis, declará-los Private (Visual Basic) , de modo que nenhum outro código pode acessá-los.
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: