我需要在 C# setter 中做一个小检查——检查属性是否为空字符串。现在我最终得到了这样的结构:
private string property;
public string Property
{
get
{
return property;
}
set
{
if (value.IsNotEmpty())
{
property = value;
}
}
}
代替
public string Property { get; set; }
6 行而不是 1 行。有没有办法插入逻辑,但保持简洁和优雅?
最佳答案
否
自动属性(或“短格式”)可以有访问修饰符,但没有逻辑。你被现有的代码困住了。
您可以做的一件事是将您的字符串
封装在一个对象中,该对象允许从字符串(和到字符串)进行隐式转换,并检查IsNotEmpty
在分配给基础值之前。也不是最优雅的解决方案,但它可能会让您保留语法糖。
关于c# 修改 getter/setter 但保留简短形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26539485/