2011-01-10 14 views
107

मुझे पता है कि फ़ाइल पर राइट क्लिक करके और "उपयोग ढूंढें" विकल्प चुनकर एक फ़ाइल के अप्रयुक्त संदर्भ कैसे प्राप्त करें। क्या कोई तरीका है कि मैं की सभी मेरी परियोजना में अप्रयुक्त कक्षाओं या फ़ाइलों की सूची देख या प्राप्त कर सकता हूं?Resharper- सभी अप्रयुक्त वर्गों को खोजें

+2

मैंने अतीत में इसके लिए निर्भरता का उपयोग किया है। – Cine

उत्तर

167

सबसे पहले "समाधान में त्रुटियों का विश्लेषण करें" सक्षम करें (स्टेटस बार में Resharper आइकन पर राइट-क्लिक करें)।

फिर समाधान नोड पर राइट-क्लिक करें और "कोड समस्याएं खोजें" का चयन करें। "निरीक्षण परिणाम" टूल विंडो में आप "समस्या प्रकार" द्वारा समूहित कर सकते हैं और सभी अप्रयुक्त वर्गों (और कई अधिक अप्रयुक्त प्रतीकों) प्राप्त करने के लिए "टाइप या टाइप सदस्य का कभी भी उपयोग नहीं किया जाता है" के लिए देखो।

एक दूसरा विकल्प (सक्षम करने के बाद "समाधान में त्रुटियों का विश्लेषण करें") किसी भी अप्रयुक्त वर्ग के लिए जाने के लिए है, हिट Alt +, दर्ज चुनें "के लिए विकल्प 'टाइप करें या प्रकार सदस्य ...' निरीक्षण '| इस प्रकार के सभी कोड मुद्दों को खोजें संपूर्ण समाधान

Inspection results window sample

+40

अप्रयुक्त कक्षाएं/तरीके "प्रतीक घोषणाओं में अनावश्यकता" के तहत "प्रकार या प्रकार का सदस्य कभी भी उपयोग नहीं किया जाता है" के अंतर्गत आ रहे हैं। सुनिश्चित नहीं है कि यह संस्करण परिवर्तन के कारण है, या मैं इसे अलग-अलग देख रहा हूं। – bulltorious

+4

इसने विंडोज 8 पर विंडोज 8 या वीएस2012 पर वीएस2013 पर Resharper 7.1 का उपयोग करके किसी भी श्रेणी के तहत किसी भी अप्रयुक्त कक्षाओं को वापस नहीं किया है। –

+1

कम से कम ReSharper 8 में, आपको परिणाम प्राप्त करने के लिए "समाधान में त्रुटियों का विश्लेषण करें" सक्षम करने की आवश्यकता नहीं है। –

17

समाधान @ulrichc द्वारा सही लगता है और मिडिलवेट परियोजनाओं है जिसमें आप इस तरह के रूप Castle या Ninject किसी भी Dependency Injection ढांचे लेकिन क्या उपयोग नहीं कर रहे है, तो आप डि कंटेनर का उपयोग कर रहे हैं करने के लिए छोटे के लिए ठीक काम करता है [उदाहरण के लिए कैसल]

public class IoC 
{ 
    private WindsorContainer _container; 

    private IoC() 
    { 
     _container = new WindsorContainer(); 
    } 

    public static void RegisterFromAssembly(Assembly assembly, string classEndsWith, LifeTime lifeTime) 
    { 
     var lifestyle = ConvertLifeStyleType(lifeTime); 

     _container.Register(AllTypes.FromAssembly(assembly) 
        .Where(type => type.Name.EndsWith(classEndsWith)) 
        .WithService.AllInterfaces() 
        .Configure(c => c.LifeStyle.Is(lifestyle)) 
        .WithService.FirstInterface()); 
    } 
} 

आप RegisterFromAssembly देख सकते हैं सभी प्रकार के विधानसभा के अंदर और आँख बंद करके [तरीकों पैरामीटर के आधार पर] के माध्यम से चला जाता है उन्हें रन-समय पर कंटेनर के लिए कहते हैं: और आप निम्नलिखित की तरह कुछ है।

आपको Agent Mulder प्लगइन जैसे कुछ की आवश्यकता होगी जो आपके कंटेनर के अंदर पंजीकृत या हल किए गए प्रकारों के लिए नेविगेशन प्रदान करता है। यह फिर से [डिजाइन समय संभवतः] काम कर सकता है लेकिन आप वास्तव में सुनिश्चित नहीं होंगे जब तक कि जब भी आप अप्रयुक्त कक्षा को हटाते हैं, तो आप अपने आवेदन के अंदर सभी परीक्षणों को चलाते हैं [हर संभव परत] 80% सुनिश्चित करने के लिए कि आप सुरक्षित हैं। कहानी का नैतिक: एक वर्ग रिशेर्पर के लिए अप्रयुक्त हो सकता है लेकिन जब आप निर्भरता इंजेक्शन का उपयोग करते हैं तो इसे पुनरुत्थित किया जा सकता है।

+1

अच्छी तरह से डीआई नहीं, प्रतिबिंब के किसी भी उपयोग के लिए समाधान समाधान विफल हो सकता है। – Mohayemin

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