Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

C% Properties

Nos execícios eles pedem para alterar o atributo cliente e torna-lo uma property, porém sem restrição de leitura, não entendi a utilidade.

public Cliente Titular { get; set; } public Cliente Titular;

Os dois trechos de código acima são equivalentes na minha opinião, correto?

Ps: Sei que os códigos abaixo são diferentes

public Cliente Titular { get; private set; } public Cliente Titular;

2 respostas

Esse são iguais public Cliente Titular { get; set; } public Cliente Titular;

porem o segundo é diferente public Cliente Titular { get; private set; } public Cliente Titular;

ele não deixa você setar valores de fora da class

solução!

Oi Denis, boa tarde,

Em relação ao nível de acesso, sim public Cliente Titular { get; set; } e public Cliente Titular; são equivalentes, porém, estruturalmente falando eles são bem diferentes.

Quando você declara uma propriedade (Property), conforme mostrado no exemplo public Cliente Titular { get; set; }, o compilador cria um campo de backup particular e anônimo que só pode ser acessado por meio dos acessos de propriedade get e set, enquanto que atributos são acessados diretamente. Essa estrutura (properties) facilita a criação de objetos e encapsulamento.

Mais detalhes em: https://msdn.microsoft.com/pt-br/library/bb384054.aspx