2013-02-14 12 views
5

मैं इन enums है:Resharper क्यों सोचता है कि इन enums का कभी उपयोग नहीं किया जाता है?

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)); 

... तो Resharper मूर्ख क्यों है? या यह है?

+2

Resharper 'FontSizeType.XSmall' का एक सीधा उपयोग नहीं" देख "करता है (आदि ...) के रूप में आप _whole_ databinding कर रहे हैं enum। – Oded

उत्तर

6

रीशेपर अंतर्निहित उपयोग का पता नहीं लगाता है। आप यह कहने के लिए [UsedImplicitly] का उपयोग कर सकते हैं कि आपके प्रकार के सदस्य का उपयोग पूरी तरह से किया जाता है, और फिर इसे शिकायत करना बंद कर देना चाहिए।

अपने कोड में UsedImplicitlyAttribute का उपयोग करने के लिए, आपको या तो JetBrains.Annotations.dll का संदर्भ शामिल करना चाहिए या अपने प्रोजेक्ट में कुछ कॉपी-पेस्ट स्रोत कोड शामिल करना चाहिए, विवरण के लिए http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Annotations_in_Source_Code.html देखें।

आपको प्रत्येक enum मान पर [UsedImplicitly] जोड़ना चाहिए।

+0

इस कोशिश कर रहा है: [UsedImplicitly] निजी enum ValueType एक निर्देश का उपयोग कर { पाठ, बारकोड } ... मैं मिलता है, "प्रकार या नाम स्थान का नाम 'UsedImplicitlyAttribute' नहीं पाया जा सका (आप याद कर रहे हैं या एक असेंबली संदर्भ?) " –

+0

@ClayShannon कृपया अद्यतन उत्तर देखें। –

+0

धन्यवाद, लेकिन इस तरह से मेरे स्रोत को गड़बड़ करने की बजाए, मैं इस उदाहरण में रिशेर्पर की उंगली-छेड़छाड़ के साथ "लाइव" रहूंगा। –

2

साथ ही आप शिकायतों ही इस निर्देश का उपयोग करके निष्क्रिय कर सकते हैं: [SuppressMessage("ReSharper", "UnusedMember.Global")] public enum ComplianceStatus { Notcompliant, Unknown, Warning, Compliant, Pendingrestart, Pendinglogoff }

संबंधित मुद्दे