7

उदाहरण कोड मेरा अनुबंध आवश्यकताओं पर आधारित आउटपुट

public class MyClass 
{ 
    public MyClass(Object obj) 
    { 
     Contract.Requires<ArgumentNullException>(obj != null); 
    } 
} 

आउटपुट का परिणाम (मेरे प्रलेखन में):

| Exception      | Condition      | 
|---------------------------------|---------------------------------| 
| System.ArgumentNullException | obj == null      | 

यह नहीं है खराब है, हालांकि मुझे आश्चर्य है कि स्थिति के पाठ को अनुकूलित करने का कोई तरीका है या नहीं? मैंने उपयोगकर्ता संदेश Contract.Requires<ArgumentNullException>(obj != null, "obj is null."); जोड़ने का प्रयास किया, हालांकि इससे कुछ भी हल नहीं हुआ।

अतीत में मुझे अपवादों के लिए अपना स्वयं का एक्सएमएल दस्तावेज अनुभाग लिखना पड़ा। क्या मुझे फिर से ऐसा करने की ज़रूरत है जो मुझे चाहिए?


अस्वीकरण: के बाद से कोड संविदा (वर्तमान में) एक DevLabs परियोजना है, यह बदल सकता है, लेकिन मैं सोच रहा हूँ अगर यह अभी पहले से ही उपलब्ध है ... यदि नहीं, तो मैं इसे सुझाव देने के लिए सुनिश्चित हो जाएगा।

उत्तर

3
कोड संविदा 1.4.51019.0 आप अधिभार के साथ उपयोग कर सकते हैं

:

Requires<TException>(bool condition, string userMessage)

हालांकि, अपने संदेश "पूर्वशर्त विफल" बेजोड़ हालत के बाद के बाद जोड़ दिए जाएंगे। यदि Sandcastle इसे पहचान नहीं पाता है, तो मेरा मानना ​​है कि यह कोड अनुबंधों में कोई गलती नहीं है, क्योंकि संदेश मेरे लिए सही ढंग से दिखाई देता है।