这个问题与此相关但不相同:How do you give a C# Auto-Property a default value?
我喜欢自动属性,但有时我不得不这样做:
private string someName;
public string SomeName
{
get
{
return someName;
}
set
{
someName = value.Trim();
}
}
如果我必须多次做同样的事情,我开始希望我不需要输入那么多行/字符的代码。我希望能够拦截值并像这样更改它:
public string Somename
{
get;
[Trim]
set;
}
有没有办法做这样的事情?会不会很傻?有没有更好的办法?还有其他一般性意见吗?我承认,我给出的例子有点假设,我现在找不到让我想到这个的确切代码。
谢谢。
最佳答案
您可以使用 AOP 来完成,例如 Postsharp ,但在这种情况下,您为什么不只使用后备存储呢?
此外,为了完整起见,您可能应该这样做:
someName = (value ?? string.Empty).Trim();
也处理null
。
请注意,如果您有一个涉及更多工作的特定案例,您可能应该询问该案例,而不是您问题中的微不足道的案例
关于c# - 在 C# 中,我可以让自动属性在属性的帮助下执行一些额外的工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2970248/