Encapsulamento C # newbie
Novo em C # e entendo que o encapsulamento é apenas uma forma de "proteger dados". Mas ainda não estou claro. Eu pensei que oponto de get e set accessors foram para adicionar testes dentro desses métodos para verificar se os parâmetros atendem a determinados critérios, antes de permitir que uma função externa obtenha e defina qualquer coisa, assim:
private string myName;
public string MyName;// this is a property, speical to c#, which sets the backing field.
private string myName = "mary";// the backing field.
public string MyName // this is a property, which sets/gets the backing field.
{
get
{
return myName;
}
set
{
if (value != "Silly Woman"){
myName = value;
}
}
}
Mas eu tenho visto código em c # que apenas se parece com isso:
public string MyName { get; set; }
Por que você teria apenas um get e set com nada lá, - não é o mesmo que apenas declarar o seu público de apoio privado? Se você pode apenas pegar e definir de fora, por que você não faria isso diretamente?