Não entendi o motivo de usar um get dentro do método
public bool PodeAbrirContaSozinho
{
get
{
return (this.idade >= 18 ||
this.documentos.contains("emancipacao")) &&
!string.IsNullOrEmpty(this.cpf);
}
}
Não entendi o motivo de usar um get dentro do método
public bool PodeAbrirContaSozinho
{
get
{
return (this.idade >= 18 ||
this.documentos.contains("emancipacao")) &&
!string.IsNullOrEmpty(this.cpf);
}
}
Eu não estou fazendo este curso no momento então estou sem o contexto, mas o PodeAbrirContaSozinho na verdade não é um método e sim uma property de uma classe.
As properties são usadas para prover encapsulamento, já que o estado das variáveis privadas correspondentes (quando houverem) poderão ser manipulados somente através da property e seus gets e sets. Quando não há uma propriedade privada equivalente, você está usando o recurso chamado auto property da linguagem.
A sintaxe de uma property...
public int Idade { get; set; }
<modificador-de-acesso> <tipo> <nome> { get; set; }
As porções get e set podem ter opcionalmente um bloco de código especificando como elas serão obtidas(get) ou definidas(set).
Quando elas possuem um bloc de código, você pode adicionar validações e regras para obtenção ou definição dos valores, caso contrário, sua propriedade será simplesmente acessível pelas classes externas de acordo com os modificadores de acesso.
Complementando, para ficar mais claro, alguns exemplos:
EXEMPLO 1
A saída no console será 10
public class Pessoa
{
public int Idade {get;set;}
}
public class Program
{
public static void Main(string[] args)
{
Pessoa p = new Pessoa();
p.Idade = 10; // Utiliza o **set** para definir a propriedade.
Console.WriteLine(p.Idade); //Utiliza o **get** para obter a idade.
}
}
EXEMPLO 2
O método get retorna o valor da idade dobrado. O método set impede que idades negativas sejam atribuidas à pessoa.
public class Pessoa
{
private int idade;
public int Idade {
get
{
return idade * 2;
}
set
{
if (value < 0)
value = 0;
idade = value
}
}
}
public class Program
{
public static void Main(string[] args)
{
Pessoa p = new Pessoa();
p.Idade = 10; // Utiliza o **set** para definir a propriedade.
Console.WriteLine(p.Idade); //Utiliza o **get** para obter a idade.
}
}
Não é um método, é uma propriedade, esse link deve te ajudar a entender o conceito de propriedade https://msdn.microsoft.com/pt-br/library/x9fsa0sw.aspx