Инкапсуляция C # новичок

Новичок в C #, и я понимаю, что инкапсуляция - это просто способ «защиты данных». Но мне все еще неясно. Я думал, чтоточка методы доступа get и set должны были добавить тесты в эти методы, чтобы проверить, соответствуют ли параметры определенным критериям, прежде чем разрешить внешней функции получать и устанавливать что-либо, например так:

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;
        }

    } 
}

Но я видел код в C #, который выглядит так:

public string MyName { get; set; }

Почему бы вам просто взять с собой и ничего не делать, разве это не то же самое, что просто объявить ваше частное поле поддержки публичным? Если вы можете просто взять и установить его снаружи, почему бы вам не сделать это напрямую?

Ответы на вопрос(5)

Ваш ответ на вопрос