2013-01-04 9 views
5

बिल्ड सर्वर पर, मुझे कुछ अजीब संदेश दिखाई देता है। यह इतना कहना नहीं है, लेकिन मुझे लगता है कि कुछ 'fx पुलिस'एफएक्स पुलिस चेतावनी सीएस 0067 चुप कैसे करें?

चेतावनी CS0067 बुलाया सॉफ्टवेयर से है:

इस्तेमाल कभी नहीं किया है घटना 'SunGard.Adaptiv.AnalyticsEngine.UI.CommonControls.DisabledCommand.CanExecuteChanged'

मैं इस संदेश को कैसे चुप कर सकता हूं? मेरी कक्षा क्या बदलती है।

sealed class DisabledCommand : ICommand 
{ 
    public event EventHandler CanExecuteChanged; 

मैं System.Diagnostics.CodeAnalysis.SuppressMessageAttribute जो उपयोगी लग रहा है के लिए डॉक्स पर ठोकर खाई है, लेकिन वहाँ मेरी चेतावनी के लिए किसी भी उदाहरण नहीं हैं।

+0

आप ईवेंट का उपयोग क्यों नहीं करते हैं या इससे छुटकारा पा रहे हैं? –

+2

@RyanGates: यह एक इंटरफ़ेस से है। – SLaks

+5

बस इतना ही आपको पता है, "सीएस" से शुरू होने वाला त्रुटि कोड सी # कंपाइलर से है, FxCop नहीं। एक FxCop चेतावनी या त्रुटि "सीए" ("कोड विश्लेषण" के लिए) से शुरू होगी। –

उत्तर

14

आप एक घटना है कि उठाया कभी नहीं बनाने की जरूरत है, तो आप एक NOOP घटना बनाना चाहिए:

public EventHandler CanExecuteChanged { 
    add { } 
    remove { } 
} 

संकलक शिकायत कर रहा है क्योंकि एक डिफ़ॉल्ट ("क्षेत्र की तरह") घटना एक छिपा समर्थन पैदा करेगा हैंडलर स्टोर करने के लिए क्षेत्र। चूंकि आप घटना को कभी नहीं बढ़ाते हैं, इसलिए वह फ़ील्ड बस स्मृति को बर्बाद कर देता है।

+0

धन्यवाद स्लैक्स, जो काम किया। –

+1

मैं * स्पष्ट इंटरफ़ेस कार्यान्वयन * का उपयोग करके ईवेंट को लागू करने पर विचार करता हूं, इसलिए जब वास्तविक कार्यान्वयन प्रकार का उपयोग सीधे किया जाता है तो ईवेंट छुपाया जाता है। –

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