नहीं, यह जेनेरिक के बारे में कोई सवाल नहीं है।एक्टिवेटर। क्रिएटइंस्टेंस (स्ट्रिंग) और एक्टिवेटर। क्रिएटइंस्टेंस <T>() अंतर
मेरे पास आंतरिक रचनाकारों के साथ कई वर्गों के साथ एक फैक्टरी पैटर्न है (मैं नहीं चाहता कि कारखाने के माध्यम से उन्हें तत्काल नहीं किया जा रहा हो)।
मेरी समस्या यह है कि CreateInstance
"इस ऑब्जेक्ट के लिए परिभाषित कोई पैरामीटर रहित कन्स्ट्रक्टर" त्रुटि के साथ विफल रहता है जब तक कि मैं गैर-सार्वजनिक पैरामीटर पर "सत्य" पास नहीं करता।
उदाहरण
// Fails
Activator.CreateInstance(type);
// Works
Activator.CreateInstance(type, true);
मैं कारखाने यह थोड़ा सरल बनाने के लिए सामान्य है, इस तरह बनाना चाहते थे:
public class GenericFactory<T> where T : MyAbstractType
{
public static T GetInstance()
{
return Activator.CreateInstance<T>();
}
}
हालांकि, मैं खोजने में असमर्थ था कि "सही" पारित करने के लिए गैर-सार्वजनिक रचनाकारों (आंतरिक) को स्वीकार करने के लिए पैरामीटर।
क्या मुझे कुछ याद आया या यह संभव नहीं है?
होना चाहिए? – Vivek