संभव डुप्लिकेट:
.NET: Determine the type of “this” class in its static methodGetType
कैसे मैं एक static
विधि से GetType()
सुलभ बना सकते हैं?
मैं इस सार आधार वर्ग
abstract class MyBase
{
public static void MyMethod()
{
var myActualType = GetType(); // this is an instance method
doSomethingWith(myActualType);
}
}
और उस वर्ग के एक कार्यान्वयन है। (मैं कई कार्यान्वयन हो सकता था।)
class MyImplementation : MyBase
{
// stuff
}
मैं myActualType
कैसे प्राप्त typeof(MyImplementation)
होने के लिए कर सकते हैं?
मुझे नहीं लगता कि आप इसे एक साधारण मामले में कर सकते हैं। एक सवाल हालांकि, आप यह क्यों चाहते हैं? स्थैतिक तरीकों के साथ बिंदु यह है कि उन्हें चलाने के लिए एक उदाहरण की आवश्यकता नहीं है, है ना? तो यह बात क्यों मायने रखती है? शायद आपकी समस्या को पूरी तरह से अलग तरीके से हल किया जा सकता है। – Alxandr
मैं एक एमवीसी अनुप्रयोग के लिए मार्ग पंजीकृत करने के लिए एक सुविधाजनक तरीका लिखने की कोशिश कर रहा हूं - मैं उन्हें नामस्थान द्वारा प्रतिबंधित करने की कोशिश कर रहा हूं। इसका सार है क्योंकि मैं चाहता हूं कि आपका आवेदन कंक्रीट कार्यान्वयन का मालिक हो। –
फिर इसे स्थिर के रूप में न लिखें, बल्कि इसके बजाय एक विधि के रूप में। फिर आप आसानी से 'GetType() 'के माध्यम से प्रकार प्राप्त कर सकते हैं। – Alxandr