我认为我们都同意C#3.0中的自动属性非常棒。像这样:
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
减少到这个:
public string Name { get; set; }
可爱!
但是,如果我想在“设置”时使用ToUpperInvariant()方法转换Name字符串,我应该怎么做。我是否需要恢复到创建属性的旧C#2.0风格?
private string name;
public string Name
{
get { return name; }
set { name = value.ToUpperInvariant(); }
}
或者有更优雅的方式来实现这个目标吗?
答案 0 :(得分:5)
是的,您必须将其转换回来。 autoproperty不能做这种检查。