Pie*_*ant 20 c# types code-analysis nested
我有一个调用服务时使用的函数.在调用服务之前,它将创建一个日志条目:
protected TResult CallService<TService, TResult>(TService service,
Expression<Func<TService, TResult>> functionSelector)
{
Logger.LogServiceCall(service, functionSelector);
return functionSelector.Compile()(service);
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2010代码分析器通知我不应在以下消息中使用嵌套类型:
CA1006:Microsoft.Design:考虑一种设计,其中'ServiceManager.CallService <TService,Result>(TService,Expression <Func <TService,TResult >>)'不嵌套泛型类型'Expression <Func <TService,TResult >>' .
虽然我可以简单地为此条目创建抑制规则,但是是否存在可以阻止显示此类警告的替代方法?
Ste*_*ger 26
在这种情况下我会抑制它,因为调用者不必处理嵌套泛型,他只是传递一个易于使用的lambda表达式.
CA不会对lambda表达式进行例外处理.有时最好压制它然后编写奇怪的代码.
| 归档时间: |
|
| 查看次数: |
4042 次 |
| 最近记录: |