ठीक है, कुछ के आसपास खेल रहे हैं और क्या नहीं के बाद, मैं एक समाधान है। मैंने इस समाधान पर आने के लिए this article का उपयोग किया। मैं StyleCop का उपयोग करता हूं, इसलिए आपको इसे प्राप्त करने और इंस्टॉल करने की आवश्यकता होगी। फिर, आप मेरी सी # परियोजना MathematicsAnalyzer डाउनलोड कर सकते हैं।
सबसे पहले, मैं सभी प्रकार के रूपांतरण विसंगतियों के लिए जिम्मेदार नहीं था। वास्तव में, मैं केवल एक भाग को समायोजित करता हूं।
असल में, मैं यह देखने के लिए जांच करता हूं कि रेखा में "डबल" एक स्थान के बाद है या नहीं। मुझे पता है कि झूठी चेतावनियां हो सकती हैं, क्योंकि कक्षा का अंत डबल या अन्य चीजों की संख्या हो सकता है, लेकिन मैं इस प्रकार को सही तरीके से अलग करने के तरीके के बारे में जानने के लिए आपको छोड़ दूंगा।
तो मिलान हो जाता है, मुझे लगता है कि यह इस regex से मेल खाता देखने के लिए जाँच:
double[ ][A-Za-z0-9]*[ ]?=(([ ]?[0-9]*d[ ]?/[ ]?[0-9]*;)|[ ]?[0-9]*[ ]?/[ ]?[0-9]*d;)
यह -not- इस रेगुलर एक्सप्रेशन से मेल खाता है, तो फिर मैं उल्लंघन जोड़ें। यह रेगेक्स किस पर मेल खाएगा निम्न में से कोई भी है:
- डबल i = 4d/100;
- डबल i = 4d/100;
- डबल i = 4/100d;
- डबल i = 4/100d;
- डबल i = 4/100d;
- डबल i = 4/100d;
- डबल i = 4d/100;
- डबल i = 4/100d;
- डबल i = 4/100d;
उपरोक्त में से कोई भी उल्लंघन नहीं करेगा। जैसा कि वर्तमान में लिखा गया है, अगर 'डी' का उपयोग नहीं किया जाता है, तो यह बहुत अधिक उल्लंघन करेगा। एक ऑपरेंड को स्पष्ट रूप से कास्टिंग करने के अन्य संभावित तरीकों के लिए आपको अतिरिक्त तर्क जोड़ने की आवश्यकता होगी। जैसा कि मैं इसे लिख रहा हूं, मुझे अभी एहसास हुआ है कि दोनों ऑपरेटरों पर 'डी' होने से अधिकतर अपवाद फेंक दिया जाएगा। ओह।
और आखिरकार, मैं स्टाइलकॉप को अपना उल्लंघन ठीक से प्रदर्शित नहीं कर सका। यह मुझे मौजूदा नियम के बारे में एक त्रुटि दे रहा है, और यहां तक कि दूसरी आंखों के साथ भी, हमें समाधान नहीं मिला, इसलिए मैंने इसे हैक किया। त्रुटि उस नियम का नाम दिखाती है जिसे आप ढूंढने का प्रयास कर रहे थे, इसलिए मैंने नियम का नाम कुछ वर्णनात्मक के रूप में रखा और इसमें लाइन नंबर शामिल किया।
कस्टम नियम स्थापित करने के लिए, गणितीय विश्लेषक परियोजना का निर्माण करें। विजुअल स्टूडियो को बंद करें और DLL को StyleCop इंस्टॉल निर्देशिका में कॉपी करें। जब आप विजुअल स्टूडियो खोलते हैं, तो आपको स्टाइलकॉप सेटिंग्स में नियम देखना चाहिए। मैंने जो आलेख इस्तेमाल किया है, उसका चरण 5 और 6 दिखाता है कि यह कहां करना है।
यह केवल समाधान के दौरान एक बार उल्लंघन का उल्लंघन करता है, इसलिए आपको इसे दिखाए गए उल्लंघन को ठीक करना होगा, और अगले को ढूंढने के लिए स्टाइलकॉप को फिर से चलाएं। उसके चारों ओर एक रास्ता हो सकता है, लेकिन मैं रस से बाहर भाग गया और यहां रुक गया।
का आनंद लें!
यह इस बात पर निर्भर करता है कि आप किस कंपाइलर का उपयोग कर रहे हैं। त्रुटि संदेश और चेतावनियां भाषा की एक अंतर्निहित विशेषता नहीं है, लेकिन कुछ ऐसा है जो संकलक जोड़ता है। यदि आप जिस कंपाइलर का उपयोग कर रहे हैं वह इसका समर्थन नहीं करता है, तो नहीं, यह संभव नहीं है। – Hoeloe
एक [uservoice टिकट] है (http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2813345-add-a-warning-when-promoting-the-result-of-integer) पूछना इस सुविधा के लिए। –
मैं .NET 4.0, और विजुअल स्टूडियो 2010 के साथ प्रदान किए गए सी # कंपाइलर का उपयोग कर रहा हूं। – Larry