我有很多次写过C#属性,如下所示:
private string _Id;
public string Id
{
get
{
return _Id;
}
set
{
_Id = value.Trim();
}
}
上面的代码片段声明了一个名为Id的字符串属性,并使其在传递给setter的值上自动调用Trim
扩展方法。如果没有Trim
逻辑,我可以简单地写一下:
public string Id {get; set;}
似乎我已经写了很多代码来完成一些简单的事情。
有更好的方法吗?
答案 0 :(得分:5)
有更好的方法吗?
嗯,你可以让它看起来就像更少的代码(并且在阅读时会减少混乱):
private string _Id;
public string Id
{
get { return _Id; }
set { _Id = value.Trim(); }
}
甚至将整个房产本身放在一条线上:
private string _Id;
public string Id { get { return _Id; } set { _Id = value.Trim(); } }
但是不,你不能让一个自动实现的属性做更多的事情而不是简单的获取/设置为私有变量。
老实说,它实际上没有那么多代码 - 它是相当数量的语法但你只需要声明一个变量并写两个语句。我不认为这真的太过分了。