禁用对一个功能的调用的警告

时间:2013-11-15 18:07:12

标签: visual-studio-2010 warnings code-analysis

当我使用这样的函数时,我收到代码分析警告 CA1303:Microsoft.Globalization,“不要将文字作为本地化参数传递”

Logger.Log("blabla");

我在很多地方使用此调用,但是不希望获得此调用的警告,并且仍然使用文字作为参数获取其他调用,因此禁用项目属性中的警告不是一种选择。

我可以使用

禁用具体呼叫的警告
[SuppressMessage("Microsoft.Globalization", "CA1303:DoNotPassLiteralsAsLocalizedParameters")]

但我需要在每次调用Logger.Log()时使用它。

有没有办法将Log()函数标记为不触发此警告?

class Logger{
    [Don't trigger CA1303 on calls to this function]
    static void Log(String message){
        ...
    }
}

1 个答案:

答案 0 :(得分:1)

这可以通过使用[System.ComponentModel.LocalizableAttribute][1]装饰方法或参数来避免,该public static void Log([Localizable(false)] string message) { //... } 指定它不可本地化。 e.g:

{{1}}