如何解析代码分析 - CA1720 for GUID数据类型

时间:2014-01-16 12:26:38

标签: c# visual-studio-2012 code-analysis

CA1720用于数据类型GUID,警告显示如下:

  
    

CA1720标识符不应包含类型名称在成员“ABCService.GetReport(Guid)”中,请考虑将参数名称“reportGUID”中的数据类型标识符“GUID”替换为更通用的术语,例如“value”。

  

如何处理GUID数据类型?

3 个答案:

答案 0 :(得分:3)

来自MSDN

  

如果针对参数触发:   将参数名称中的数据类型标识符替换为更好地描述其的术语   意义或更通用的术语,例如“价值”。

     

如果针对某位成员解雇:   使用更好描述的术语替换成员名称中特定于语言的数据类型标识符   它的含义,与语言无关的等价物,或更通用的   术语,例如“价值”。

只需使用经典的Id,Uid,UniqueIdentifier,......而不是Guid。

如果您认为该规则很重要或者之前已经发布了该库,则取消该规则

[SuppressMessage("Microsoft.Naming", "CA1720:IdentifiersShouldNotContainTypeNames")]

答案 1 :(得分:1)

reportGUID名称中包含guid。规则说您应该从参数名称中删除它。

提供与参数含义相关的名称,而不是其类型。一种解决方案是reportID

答案 2 :(得分:0)

在 *.csproj 文件中添加 [NoWarn] 以禁用它。

  <PropertyGroup>
    <NoWarn>$(NoWarn);CA1720</NoWarn>
    .....
  </PropertyGroup>