当我使用这样的函数时,我收到代码分析警告 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){
...
}
}
答案 0 :(得分:1)
这可以通过使用[System.ComponentModel.LocalizableAttribute][1]
装饰方法或参数来避免,该public static void Log([Localizable(false)] string message)
{
//...
}
指定它不可本地化。 e.g:
{{1}}