2013-11-15 4 views
1

Я получаю Анализ кода Предупреждение 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

Этого можно избежать с помощью декорирования либо метод или параметр с [System.ComponentModel.LocalizableAttribute][1], который указывает, что это не локализуемым. например:

public static void Log([Localizable(false)] string message) 
{ 
    //... 
} 
Смежные вопросы