Avatar ·

C# में Type वेरिएबल के माध्यम से generic method को कैसे कॉल करें?

सभी को नमस्ते। मैं एक छोटा पार्सर लिख रहा हूँ जो विभिन्न डेटा प्रकारों को प्रोसेस करता है, और मुझे एक समस्या का सामना करना पड़ा जिसे मैं दूसरे दिन से हल नहीं कर पा रहा हूँ। मेरे पास एक generic method है: ```csharp public T Deserialize(string data) where T : class { // कुछ डीसेरियलाइज़ेशन लॉजिक return JsonConvert.DeserializeObject(data); } ``` रनटाइम पर, मुझे उस ऑब्जेक्ट का `Type` मिलता है जिसे डीसेरियलाइज़ करना है। उदाहरण के लिए, रिफ्लेक्शन के माध्यम से मैं उन सभी क्लासेस को ढूँढता हूँ जो `IEntity` इंटरफ़ेस को इम्प्लीमेंट करती हैं, और प्रत्येक के लिए मैं विशिष्ट प्रकार के साथ `Deserialize` को कॉल करना चाहता हूँ। समस्या यह है कि मैं सीधे `Deserialize(data)` नहीं लिख सकता, क्योंकि `myType` एक `Type` वेरिएबल है, न कि कंपाइल टाइम पर कोई टाइप नाम। मैंने `typeof` और `MakeGenericMethod` का उपयोग करने की कोशिश की, लेकिन कुछ भी काम नहीं कर रहा है। यहाँ मेरा वर्तमान कोड है जो एरर देता है: ```csharp Type targetType = typeof(MyClass); MethodInfo method = typeof(MyParser).GetMethod("Deserialize"); MethodInfo genericMethod = method.MakeGenericMe