यहां एक सामान्य कार्य है जो या तो सत्य/झूठा लौटाता है;सी # सामान्य रिटर्न प्रकार होने के लिए संभव है?
private static bool hasValue()
{
return true;
}
अब एक त्रुटि पर, मैं परिभाषा के साथ अपने स्वयं के कस्टम त्रुटि वस्तु लौटने के लिए करना चाहते हैं:
public class Failure
{
public string FailureDateTime { get; set; }
public string FailureReason { get; set; }
}
मैं उदाहरण के लिए इस कस्टम वस्तु फेंक करने में सक्षम होने की उम्मीद है | ...
private static bool hasValue()
{
try
{
...do something
}
catch
{
throw new Failure();
}
return true;
}
यह संभव नहीं है, और मैं क्योंकि मैं व्यक्तिगत रूप से सी # में अपवाद serializing समस्याएं थीं (यह .net v2 के साथ किया गया था) है System.IO.Exception से विफलता प्राप्त करने के लिए नहीं करना चाहती।
इस समस्या का सबसे अच्छा अभ्यास/या आदर्श समाधान क्या है। क्या मुझे निजी स्थैतिक वस्तु के साथ काम करना चाहिए? या क्या कोई कस्टम ऑब्जेक्ट वापस करने के लिए क्लीनर तरीका है या सामान्य रिटर्न प्रकार को एक त्रुटि पर बाईपास करें (System.IO.Exception का उपयोग नहीं कर रहा है)?
मैं ऑब्जेक्ट का उपयोग करने के बारे में पूरी तरह से जंगली नहीं हूं, क्योंकि तब मुझे कास्टिंग और अधिक बूलियन का उपयोग करके परिणाम को सत्यापित करने की आवश्यकता है।
मुझे लगता है कि केवल एक चीज जिसे फेंक दिया जा सकता है वह अपवाद से निकला है। – kenny