ContaCorrente conta = new ContaCorrente(-10, 86712540);
...
public ContaCorrente(int agencia, int numero)
{
Agencia = agencia;
Numero = numero;
}
private int _agencia;
public int Agencia
{
get
{
return _agencia;
}
set
{
if (value <= 0)
{
return;
}
_agencia = value;
}
}
Quando tento criar a Agencia com -10, o objeto conta é criado com a Agencia com valor 0. Observe que na regra de negócio do setter, eu verifico se o valor é igual ou menor que 0. Acredito que a atribuição não ocorre e o atributo recebe o valor padrão (0).
Como impedir que o objeto seja criado? (Ainda não cheguei na parte de tratamento de erros. Seria nesta parte?)