Criar um tipo que permite valor nulo no Designer de Classe
Alguns tipos de valor nem sempre têm (ou precisam de) um valor definido. Essa é uma prática comum em bancos de dados, em que alguns campos podem não receber nenhum valor. Por exemplo, é possível atribuir um valor nulo a um campo de banco de dados para indicar que ele ainda não recebeu um valor.
Um tipo que permite valor nulo é um tipo de valor que é estendido, para que ele use o intervalo de valores típico para esse tipo e também um valor nulo. Por exemplo, um tipo que permite valor nulo igual a Int32
, também indicado como Nullable<Int32>, pode receber qualquer valor de -2147483648 a 2147483647 ou receber um valor nulo. Um Nullable<bool> pode receber os valores True
, False
ou nulo (nenhum valor).
Os tipos que permitem valor nulo são instâncias da estrutura Nullable<T>. Cada instância de um tipo que permite valor nulo tem duas propriedades públicas somente leitura, HasValue
e Value
:
HasValue
é do tipobool
e indica se a variável contém um valor definido.True
significa que a variável contém um valor não nulo. É possível testar um valor definido usando uma instrução comoif (x.HasValue)
ouif (y != null)
.Value
é do mesmo tipo que o tipo subjacente. SeHasValue
forTrue
,Value
conterá um valor significativo. SeHasValue
forFalse
, o acesso aValue
gerará uma exceção de operação inválida.
Por padrão, ao declarar uma variável como um tipo que permite valor nulo, ela não terá nenhum valor definido (HasValue
é False
), além do valor padrão de seu tipo de valor subjacente.
O Designer de Classe exibe um tipo que permite valor nulo assim que ele exibe seu tipo subjacente.
Para obter mais informações sobre tipos que permitem valor nulo no C#, confira Tipos que permitem valor nulo. Para obter mais informações sobre tipos que permitem valor nulo no Visual Basic, consulte Tipos de valores que permitem valor nulo.
Observação
Seu computador pode mostrar diferentes nomes ou locais para alguns dos elementos de interface do usuário do Visual Studio neste artigo. Você pode estar usando outra edição do Visual Studio ou outras configurações de ambiente. Para obter mais informações, confira Personalizar o IDE.
Para adicionar um tipo que permite valor nulo usando o Designer de Classe
No Diagrama de Classe, expanda uma classe existente ou crie uma classe.
Para adicionar uma classe ao projeto, no menu Diagrama de Classe, clique em Adicionar>Adicionar Classe.
Para expandir a forma da classe, no menu Diagrama de Classe, clique em Expandir.
Selecione a forma da classe. No menu Diagrama de Classe, clique em Adicionar>Campo. Um novo campo que tem o nome padrão Campo será exibido na forma da classe e também na Janela Detalhes da Classe.
Na coluna Nome da Janela Detalhes da Classe (ou na própria forma da classe), altere o nome do novo campo para um nome válido e significativo.
Na coluna Tipo da janela Detalhes da Classe, declare o tipo como um tipo que permite valor nulo, especificando o seguinte:
int?
(Visual C#)Nullable(Of Integer)
(Visual Basic)
Para adicionar um tipo que permite valor nulo usando o Editor de Código
Adicione uma classe ao projeto. Selecione o nó do projeto no Gerenciador de Soluções e, no menu Projeto, clique em Adicionar Classe.
No arquivo .cs ou .vb da nova classe, adicione um ou mais tipos que permitem valor nulo da nova classe à declaração de classe.
No Modo de Exibição de Classe, arraste o ícone da nova classe para a superfície de design do Designer de Classe. Uma forma de classe é exibida no diagrama de classe.
Expanda os detalhes da forma de classe e mova o ponteiro do mouse sobre os membros da classe. A dica de ferramenta exibe a declaração de cada membro.
Clique com o botão direito do mouse na forma da classe e clique em Detalhes da Classe. É possível exibir ou modificar as propriedades do novo tipo na Janela Detalhes da Classe.