15

मैं एक बड़े रिफैक्टरिंग के बीच में हूं।विधि कॉल में पैरामीटर नाम जोड़ने के लिए स्वचालित रीफैक्टरिंग

मेरे पास दर्जनों विधियां हैं, जिन्हें स्थितित्मक मानकों के माध्यम से बुलाया जाता है। अब मैं उन्हें नामित पैरामीटर के माध्यम से बुलावा चाहता हूं। विधियां कई, गैर विरासत वाले वर्गों में मौजूद हैं और उनका नाम समान है और उनके हस्ताक्षर भिन्न हैं। उदाहरण:

परिभाषाएँ

public class Foo 
{ 
    public static Foo Create(int count, string name) 
    { 
     ... 
    } 
} 

public class Bar 
{ 
    public static Bar Create(string description, bool yesNo, float factor) 
    { 
     ... 
    } 
} 

और निम्नलिखित कॉल मैं प्रतिस्थापित करना चाहते हैं, से

public void CreateSomeObjects() 
{ 
    var foo = Foo.Create(123, "foo"); 
    var bar = Bar.Create("bar", true, 1.23); 
} 

को
public void CreateSomeObjects() 
{ 
    var foo = Foo.Create(count: 123, name: "foo"); 
    var bar = Bar.Create(description: "bar", yesNo: true, factor: 1.23); 
} 

मैं दृश्य स्टूडियो प्रीमियम 2013 और Resharper का उपयोग । कोई विचार यह कैसे प्राप्त करें? (मैं सिर्फ एक संकेत नहीं पूर्ण समाधान की जरूरत है,।)

+1

क्या आपको कोई समाधान मिला? बहुत धन्यवाद ... – ManOnAMission

+0

दुर्भाग्य से नहीं। मेरा वर्तमान दृष्टिकोण इसे [Roslyn] (https://github.com/dotnet/roslyn) के साथ फिर से लिखना है। जैसा कि मैं शुरुआत में हूं, मैं अब कोड पोस्ट नहीं करूँगा। –

+0

कोडरश नामित पैरामीटर डालने में सक्षम प्रतीत होता है (यह एक संदर्भ मेनू है जिसे आपको मैन्युअल रूप से क्लिक करने की आवश्यकता है, इसलिए कोई स्वचालित समाधान नहीं है)। – ManOnAMission

उत्तर

10

सुनिश्चित नहीं हैं कि यह कैसे व्यावहारिक है, लेकिन आप निम्नलिखित का उपयोग कर ReSharper कर सकते हैं:

  1. उपयोग सभी विधि कॉल की एक सूची प्राप्त करने के लिए "Usages खोजें" स्थानों।
  2. प्रत्येक उपयोग के लिए, विधि पर जाने के लिए डबल-क्लिक करें।
  3. फिर कोड संपादक में, पैरामीटर मान पर क्लिक करें और रीशेपर को अपना एक्शन इंडिकेटर (बाएं हाशिए में एक हल्का बल्ब या हथौड़ा) दिखाना चाहिए।
  4. कार्रवाई संदर्भ मेनू दिखाने के लिए क्रिया संकेतक पर क्लिक करें।
  5. सभी पैरामीटर में पैरामीटर नाम जोड़ने के लिए "तर्क नाम जोड़ें" क्रिया का चयन करें।
  6. दोहराना।
+2

यह लगता है की तुलना में यह बहुत आसान है। मैंने चेतावनी देने के लिए नामित तर्कों पर स्तर को बदल दिया, फिर प्रत्येक फ़ंक्शन के पहले तर्क पर, सीटीएल + दबाएं, दर्ज करें, और यह हो गया है। – fastmultiplication

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