मैं एक सम्मेलन का पालन करता हूं कि मैं कक्षाओं में किसी भी प्रिंट स्टेटमेंट का उपयोग नहीं करूंगा, लेकिन मैंने एक निर्माता में पैरामीटर सत्यापन किया है। कृपया मुझे बताएं कि उस सत्यापन को कैसे वापस किया जाए जो मैंने मुख्य समारोह में कन्स्ट्रक्टर में किया है।सी # में कन्स्ट्रक्टर का उपयोग कर मूल्य कैसे वापस करें?
उत्तर
निर्माता कोई मान है - प्रकार निर्माण किया जा रहा ...
एक निर्माता मूल्य के किसी भी अन्य प्रकार वापस जाने के लिए नहीं होता।
जब आप किसी निर्माता में मान्य होते हैं, तो आपको अपवाद फेंकना चाहिए यदि पास किए गए मान अमान्य हैं।
public class MyType
{
public MyType(int toValidate)
{
if (toValidate < 0)
{
throw new ArgumentException("toValidate should be positive!");
}
}
}
रचनाकारों के पास रिटर्न प्रकार नहीं है, लेकिन आप ref
कीवर्ड का उपयोग कर संदर्भ द्वारा मूल्यों को पारित कर सकते हैं। सत्यापन विफलता को इंगित करने के लिए कन्स्ट्रक्टर से अपवाद फेंकना बेहतर होगा।
public class YourClass
{
public YourClass(ref string msg)
{
msg = "your message";
}
}
public void CallingMethod()
{
string msg = string.Empty;
YourClass c = new YourClass(ref msg);
}
कि आप _can_ का मतलब _should_ नहीं है। – Oded
जब एक निर्माता को एक अवैध तर्क प्राप्त होता है, तो अपवाद फेंकना आम बात है। फिर आप इस अपवाद को पकड़ सकते हैं और इसमें मौजूद डेटा को पार्स कर सकते हैं।
try
{
int input = -1;
var myClass = new MyClass(input);
}
catch (ArgumentException ex)
{
// Validation failed.
}
एक कन्स्ट्रक्टर तत्काल प्रकार को लौटाता है, और यदि आवश्यक हो, तो अपवाद फेंक सकता है। शायद एक बेहतर समाधान कोशिश अपने वर्ग का एक उदाहरण बनाने के लिए एक स्थिर विधि जोड़ने के लिए होगा:
public static bool TryCreatingMyClass(out MyClass result, out string message)
{
// Set the value of result and message, return true if success, false if failure
}
बाहर पैरामीटर के साथ एक निर्माता हैं और एक ही के माध्यम से अपनी वापसी मूल्य भेजें।
public class ClassA
{
public ClassA(out bool success)
{
success = true;
}
}
यदि आपकी बात आती है तो आपकी कक्षा बहुत नाजुक है। –
- 1. जावा: एक कन्स्ट्रक्टर एक मूल्य कैसे वापस कर सकता है?
- 2. सी ++ में "ऑब्जेक्ट वापस कैसे करें"?
- 3. XPath का उपयोग कर एक्सएमएल से मूल्य कैसे प्राप्त करें
- 4. जावा का उपयोग कर आंशिक JSON प्रतिक्रिया कैसे वापस करें?
- 5. कार्रवाई() से मूल्य कैसे वापस करें?
- 6. सी में शून्य * का उपयोग कर सामान्य कार्य कैसे करें?
- 7. एक जटिल वापसी मूल्य वापस कैसे करें?
- 8. सी # थ्रेड विधि एक मूल्य वापस?
- 9. सी में enums का उपयोग कैसे करें ++
- 10. जेसनपाथ का उपयोग कर सी # उदाहरण का उपयोग कैसे करें?
- 11. जावास्क्रिप्ट का उपयोग कर मूल्य प्राप्त करें या पोस्ट करें?
- 12. पायथन में __init__ से मूल्य कैसे वापस करें?
- 13. कतार :: पॉप अब एक मूल्य वापस कर सकते हैं?
- 14. पायथन से JSON के रूप में मूल्य कैसे वापस करें?
- 15. आर में वेक्टर से 5 शीर्ष मूल्य कैसे वापस करें?
- 16. मैं __getitem__ और __iter__ का उपयोग कैसे करूं और शब्दकोश से मूल्य वापस कर सकता हूं?
- 17. जेनेरिक प्रकारों का उपयोग कर जावा कन्स्ट्रक्टर
- 18. जावास्क्रिप्ट शब्दकोश में कुंजी का उपयोग कर मूल्य कैसे खोजें
- 19. मैं मूल्य वापस करने के लिए जेएस eval का उपयोग कैसे कर सकता हूं?
- 20. सी ++ में यूनिकोड का उपयोग कैसे करें?
- 21. सी ++ में एनएलओजी का उपयोग कैसे करें?
- 22. सी # में छिपकली का उपयोग कैसे करें
- 23. सी # में RegisterHotKey() का उपयोग कैसे करें?
- 24. Jquery का उपयोग करके ड्रॉपडाउन में मूल्य कैसे सेट करें?
- 25. शब्दकोश मूल्य का उपयोग कर शब्दकोश कुंजी प्राप्त करें
- 26. सी # का उपयोग कर एसक्यूएल फाइलों का विश्लेषण कैसे करें?
- 27. सी ++ में बेस क्लास के कन्स्ट्रक्टर और असाइनमेंट ऑपरेटर का उपयोग कैसे करें?
- 28. सी में संरचना का उपयोग कैसे करें?
- 29. सी # में Guids का उपयोग कैसे करें?
- 30. सी # एप में सी ++ लाइब्रेरी का उपयोग कैसे करें?
ओह, मेरी इच्छा है कि मैं हजार बार वोट दे सकता हूं। यह कैंसर की तरह फैल रहा है कि अनुमत सत्यापन शैली के साथ इतना थकाऊ है। – jgauffin
@jgauffin - आपका क्या मतलब है? – Oded
उदाहरण के लिए अपने डोमेन/व्यावसायिक मॉडल पर DataAnnotation विशेषताओं का उपयोग करना। यानी वस्तुओं को अमान्य जानकारी रखने और कॉलिंग कोड पर भरोसा करने की अनुमति देने के लिए यह सुनिश्चित करने के लिए कि सब कुछ मान्य और सही है। आप जानते हैं .. encapsulation का उल्लंघन। – jgauffin