2012-01-22 15 views
5

मैंने इसके लिए थोड़ा सा खोज किया है और कुछ चीजों की कोशिश की है और मैं इसे बंद करने के बिना कुछ सामान बंद किए बिना काम नहीं कर सकता।रिशेर्पर और नेमस्पेस ऊर्फ क्वालीफायर

आम तौर पर मैंने Resharper को नेमस्पेस अनुकूलन के साथ अपना रास्ता दिया है। एक सेवा कार्यान्वयन में जो डीटीओ के डोमेन मॉडल ऑब्जेक्ट्स पर मैपिंग कर रहा है, यह प्रत्येक के लिए उपनाम बनाने के लिए एक अच्छा दृश्य है। इस तरह जब देर हो चुकी है और आप Dtos.Customer और DomainModel.Customer देखकर वंचित सो गए हैं।

using DomainModel = MyProduct.Core.Domain.Model; 
using Dtos = MyProduct.ServiceModel.Dtos; 

जब मैं कोड सफाई चलाने इसे करने के लिए उन लोगों के परिवर्तन:

using DomainModel = MyProduct.Core.Domain.Model; 
using Customer = MyProduct.Core.Domain.Model.Customer; 

किसी को भी यह कर या कुछ इसी तरह है और यह whacking से आर # रखता है?

उत्तर

3

यह कुछ ऐसा है जब आप इसे छोड़ते हैं ReSharper करेंगे: कोड क्लीनअप पर संदर्भों को छोटा करें।

हालांकि यह व्यवहार आपके लिए अवांछित हो सकता है, यह तकनीकी रूप से सही दिखता है। क्योंकि आपके कोड में यह कुछ छोटा कर देगा। और यही वह है जो एल्गोरिदम को करना है।

इस तरह एल्गोरिथ्म काम करता है कि इस परिणाम का कारण बनता है:

  1. Resharper एक संदर्भ है कि बनाया जा सकता है पाता है कम (यदि आप नहीं दिया है मुझे पर्याप्त कोड वास्तव में बताने के लिए जहां, लेकिन वह ऐसा नहीं करता मामला)।
  2. शॉर्टिंग के बाद इसे आश्वस्त करने की आवश्यकता है कि ऑब्जेक्ट को हल किया जा सकता है, इसलिए यह इसके लिए उपयोग करने के लिए एक नया जोड़ता है (using Customer = MyProduct.Core.Domain.Model.Customer; आपके मामले में)।
  3. रिशेर्पर का पता लगाता है कि using Dtos = MyProduct.ServiceModel.Dtos; अब उपयोग में नहीं है (आखिरकार, दूसरा आपके संक्षिप्त संदर्भ को कवर करता है)। और इसे हटा देता है।

यही मुझे संदेह है कि यह कारण है। मैं कोड में वास्तविक उपयोग को देखे बिना 100% निश्चित नहीं हो सकता। लेकिन यह सबसे अधिक संभावना है कि रिफैक्टरिंग का कारण है।

+0

मैं देखता हूं, मैं यह भी देखता हूं कि यह डीटोस उपनाम का उपयोग क्यों कर रहा है। कुछ और को MyProejct.ServiceModel को रेफरी करने की आवश्यकता है। मुझे लगता है कि एक कोड क्लीनअप प्रोफाइल बनाना जो निर्देशों का उपयोग करके अनुकूलन नहीं करता है, काम करेगा। –

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