Авто-свойства: проверка / проверка во время «набора» - PullRequest
3 голосов
/ 20 июля 2010

Я думаю, что мы все можем согласиться с тем, что автоматические свойства в C # 3.0 великолепны. Примерно так:

private string name;
public string Name
{
    get { return name; }
    set { name = value; }
}

Уменьшается до этого:

public string Name { get; set; }

симпатичный!

Но что мне делать, если я хочу, скажем, преобразовать строку имени с помощью метода ToUpperInvariant () во время «установки». Нужно ли возвращаться к старому стилю создания свойств в C # 2.0?

    private string name;
    public string Name
    {
        get { return name; }
        set { name = value.ToUpperInvariant(); }
    }

Или есть более элегантный способ сделать это?

1 Ответ

5 голосов
/ 20 июля 2010

Да, вы должны конвертировать его обратно.Autoperperty не может делать такие проверки.

...