Ham*_*jan 8 c# custom-attributes automatic-properties
这个问题是相关的,但不一样:你如何给C#Auto-Property一个默认值?
我喜欢自动属性,但有时我必须做这样的事情:
private string someName;
public string SomeName
{
get
{
return someName;
}
set
{
someName = value.Trim();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我必须多次做同样的事情,我开始希望我不需要输入这么多行/代码的代码.我希望能够拦截值并改变它类似:
public string Somename
{
get;
[Trim]
set;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法做这样的事情?它会是愚蠢的吗?有没有更好的办法?还有其他一般评论吗?我承认,我给出的例子有点假设,我现在找不到确切的代码,这让我想到了这一点.
谢谢.
您可以使用 AOP 来实现,就像使用Postsharp 一样,但是在这种情况下为什么不只使用后备存储?
另外,为了完整起见,您可能应该这样做:
someName = (value ?? string.Empty).Trim();
Run Code Online (Sandbox Code Playgroud)
处理null。
请注意,如果您有一个涉及更多工作的特定案例,您可能应该询问该案例,而不是您问题中的琐碎案例