2013-02-14 14 views
5

mam te teksty stałe:Dlaczego Resharper uważa, że ​​te wyliczenia nie są nigdy używane?

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 
    } 

i inspekcji ReSharper opowiada mi o nich wszystkich, że „członek Enum«Xsmall»[etc.] nigdy nie jest używany”

jednak używam ich w moim kombi pola, takie jak:

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

... dlaczego więc Resharper jest oszukany? Albo to jest?

+2

Resharper nie „widzi” bezpośrednie użycie 'FontSizeType.XSmall' (etc ...) jak jesteś wiązania z danymi z _whole_ enum. – Oded

Odpowiedz

6

ReSharper nie wykrywa niejawnych zastosowań. Możesz użyć opcji [Zastosowano niejawnie], aby poinformować, że element typu jest używany niejawnie, a następnie powinien przestać narzekać.

Aby korzystać UsedImplicitlyAttribute w kodzie, należy albo zawierają odniesienie do JetBrains.Annotations.dll lub zawierać pewne kopiowaniem wklejony kod źródłowy w projekcie, patrz http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Annotations_in_Source_Code.html szczegóły.

Powinieneś dodać [Zastosowano niejawnie] dla każdej wartości wyliczeniowej.

+0

Trying to: [UsedImplicitly] private enum ValueType { Tekst, kreskowy } ... dostaję „nie można odnaleźć typu lub obszaru nazwa 'UsedImplicitlyAttribute' (czy brakuje using dyrektywa lub odniesienie do zespołu?) " –

+0

@ClayShannon zobacz zaktualizowaną odpowiedź. –

+0

Dzięki, ale zamiast mrużyć moje źródło w ten sposób, po prostu "będę żył z" machaniem palcem przez Resharpera w tym przypadku. –

2

Można również wyłączyć sama skarg za pomocą tej dyrektywy: [SuppressMessage("ReSharper", "UnusedMember.Global")] public enum ComplianceStatus { Notcompliant, Unknown, Warning, Compliant, Pendingrestart, Pendinglogoff }

Powiązane problemy