Unforutnately कोई रास्ता सी #
आप इस तथ्य दस्तावेज़ कर सकते हैं करने के लिए बनाया है, लेकिन यह स्वचालित रूप से जांच नहीं की जाएगी।
यदि आप रिशेर्पर का उपयोग कर रहे हैं, तो विधि को [NotNull] विशेषता के साथ चिह्नित होने पर इसे ठीक से जांचने के लिए सेट किया जा सकता है।
अन्यथा आप Microsoft Contracts लाइब्रेरी का उपयोग कर सकते हैं और अपनी विधि के अनुसार निम्न के जैसा कुछ जोड़ सकते हैं, लेकिन यह इतनी सरल एनोटेशन के लिए बहुत अधिक अतिरिक्त शब्द है।
Contract.Ensures(Contract.Result<string>() != null)
स्पेक # इस समस्या को हल करके हल किया! प्रकार के बाद, एक गैर-शून्य प्रकार के रूप में चिह्नित करने के लिए जैसे
string! foo
लेकिन युक्ति # केवल .NET2 लक्षित करने के लिए इस्तेमाल किया जा सकता है, और द्वारा कोड पुस्तकालय संविदा छीन ली गई है।
स्रोत
2009-01-27 18:25:09
इसके अलावा, यह जानने का कोई तरीका नहीं है कि आप पहले स्थान पर एक गैर-शून्य वस्तु वापस कर सकते हैं (जब तक कि यह एक संरचना न हो) हो सकता है कि आप एक संरचना वापस करना चाहते हैं? – Trap