3

我想我们都同意 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(); }
    }

还是有更优雅的方式来实现这一点?

4

1 回答 1

5

是的,您必须将其转换回来。自动属性不能进行这种检查。

于 2010-07-20T14:52:59.177 回答