चलो कहते हैं कि हम इन दो वर्गों मिल गया है दो:सी # में बेस क्लास से, व्युत्पन्न प्रकार प्राप्त करें?
public class Derived : Base
{
public Derived(string s)
: base(s)
{ }
}
public class Base
{
protected Base(string s)
{
}
}
मैं कैसे Base
के निर्माता है कि Derived
invoker है के भीतर से पता कर सकते हैं? यह क्या मैं के साथ आया है:
public class Derived : Base
{
public Derived(string s)
: base(typeof(Derived), s)
{ }
}
public class Base
{
protected Base(Type type, string s)
{
}
}
वहाँ एक और तरीका typeof(Derived)
, Base
के निर्माता के भीतर से प्रतिबिंब का उपयोग कर के किसी तरह से गुजर उदाहरण के लिए, की आवश्यकता नहीं है कि है?
आप बहुत सारे कोड में एक दिलचस्प तथ्य छुपा रहे हैं। – VVS
एक बेहतर उदाहरण 'व्युत्पन्न 1 डी 1 = नया बेस();' – Seph
'व्युत्पन्न 1 डी 1 = नया बेस();' एक संकलित-समय त्रुटि उत्पन्न करता है, 'का आउटपुट दिखाने के लिए एक बेहतर उदाहरण होगा, आप शायद दूसरी तरफ का मतलब है। एफवाईआई '((बेस) नया व्युत्पन्न 1())। GetType()। नाम'" व्युत्पन्न 1 "है –