को भेजने से पहले शीर्षक थोड़ा अस्पष्ट हो सकता है, लेकिन मैं शब्द इस लिए एक बेहतर तरीका के बारे में सोच नहीं सकता था।संशोधित करना पैरामीटर मान बेस निर्माता
मुझे लगता है कि मैं एक आधार निर्माता बुला से पहले एक व्युत्पन्न निर्माता फोन नहीं कर सकते हैं, लेकिन मैं उन्हें किसी भी तरह आधार पर गुजर करने से पहले संशोधित कर सकते हैं/बनाने पैरामीटर मान?
उदाहरण के लिए,
public enum InputType
{
Number = 1,
String = 2,
Date = 3
}
public class BaseClass
{
public BaseClass(InputType t)
{
// Logic
}
}
public class DerivedClass : BaseClass
{
public DerivedClass(int i)
: base(value)
// Can I do something to infer what value should be here?
{
// Logic
}
}
अगर मैं एक व्युत्पन्न वर्ग कि आधार निर्माता के लिए आवश्यक मूल्य का अनुमान लगा सकते है (इस उदाहरण में, InputType.Number
एक int
के लिए मान्य होगा,) वहाँ संशोधित करने के लिए एक रास्ता है और/या व्युत्पन्न कन्स्ट्रक्टर निष्पादन से पहले आधार कन्स्ट्रक्टर को पास किए गए मान बनाएं?
आप DerivedClass निर्माता में तर्क के माध्यम से "मान" नहीं बना सकते हैं, हालांकि, आधार (...) पहले चलाया जाता है। –
@ रेड, हाँ, जो एक टाइपो था। रखने के लिए (इनपुट टाइप) i। फिक्स्ड – JaredPar
हां, आप कास्ट कर सकते हैं। लेकिन वह मूल्य बनाने के लिए तर्क का उपयोग करने का एक तरीका मांग रहा था, जिसे आप नहीं कर सकते। –