में पैरामीटर टाइप करें क्या सामान्य प्रकार के रचनाकारों के साथ कक्षाओं की आवश्यकता के लिए new()
कन्स्ट्रक्टर बाधा का उपयोग करने वाला जेनेरिक विधि बनाने का कोई तरीका है?सी # सामान्य तरीकों, नए() कन्स्ट्रक्टर बाधा
उदाहरण के लिए:
मैं निम्नलिखित कोड है:
public T MyGenericMethod<T>(MyClass c) where T : class
{
if (typeof(T).GetConstructor(new Type[] { typeof(MyClass) }) == null)
{
throw new ArgumentException("Invalid class supplied");
}
// ...
}
क्या यह संभव है इस के बजाय की तरह कुछ है करने के लिए?
public T MyGenericMethod<T>(MyClass c) where T : new(MyClass)
{
// ...
}
संपादित करें: है a suggestion इस बारे में। कृपया वोट दें ताकि हम इस सुविधा को सी # में प्राप्त कर सकें!
मैं थोड़ा उलझन में हूं। वास्तव में आप क्या हासिल करने की कोशिश कर रहे हैं। क्या निर्माता MyClass का पैरामीटर लेगा, या आप टी को MyClass सीमित कर रहे हैं? –