5

У меня есть эти перечисления:Почему Resharper думает, что эти перечисления никогда не используются?

private enum FontSizeType 
    { 
     XSmall, //9 
     Small, //12 
     Medium, //18 
     Large, //24 
     XLarge, //36 
     XXLarge //47 
    } 

    private enum AlignOptions 
    { 
     Left, 
     Center, 
     Right 
    } 

    private enum ValueType 
    { 
     Text, 
     Barcode 
    } 

И осмотр ReSharper говорит мне о них все, что «член Enum„Xsmall“[и т.д.] никогда не используются»

Но я их использую в моем комбо коробки, такие как:

comboBoxType1.DataSource = Enum.GetNames(typeof(ValueType)); 

... так почему же Решартер обманул? Или это?

+2

Resharper «не видит» прямое использование 'FontSizeType.XSmall' (и т.д. ...), как вы в _whole_ привязки данных ENUM. – Oded

ответ

6

ReSharper не обнаруживает неявных применений. Вы можете использовать [UsedImplicitly], чтобы сказать, что ваш член типа используется неявно, а затем он должен прекратить жаловаться.

Чтобы использовать в вашем коде UsedImplicitlyAttribute, вы должны либо указать ссылку на JetBrains.Annotations.dll, либо включить в свой проект исходный код с копированием в ваш проект, см. Раздел http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Annotations_in_Source_Code.html.

Вы должны добавить [UsedImplicitly] для каждого значения перечисления.

+0

Попытка это: [UsedImplicitly] частного перечисления ValueType { Text, Штрих } ... Я получаю «типа или пространства имен имя 'UsedImplicitlyAttribute' не может быть найден (вы недостающей с помощью директивы или ссылку на сборку?) « –

+0

@ClayShannon, пожалуйста, см. обновленный ответ. –

+0

Спасибо, но вместо того, чтобы мутировать мой источник таким образом, я просто «живу с» в этом случае висячим пальцем Решарпера. –

2

Вы можете так же отключить сам жалобы, используя эту директиву: [SuppressMessage("ReSharper", "UnusedMember.Global")] public enum ComplianceStatus { Notcompliant, Unknown, Warning, Compliant, Pendingrestart, Pendinglogoff }

Смежные вопросы