Gibt es eine Möglichkeit, eine generische Methode zu erstellen, die die new()
-Konstruktbeschränkung verwendet, um Klassen mit Konstruktoren bestimmter Typen zu erfordern?C# generische Methoden, geben Sie Parameter in new() Konstruktoreinschränkung ein
Beispiel:
Ich habe den folgenden Code:
public T MyGenericMethod<T>(MyClass c) where T : class
{
if (typeof(T).GetConstructor(new Type[] { typeof(MyClass) }) == null)
{
throw new ArgumentException("Invalid class supplied");
}
// ...
}
Ist es möglich, so etwas wie dieses, anstatt zu haben?
public T MyGenericMethod<T>(MyClass c) where T : new(MyClass)
{
// ...
}
EDIT: Da ist a suggestion in Bezug auf diese. Bitte stimmen Sie ab, damit wir diese Funktion in C# haben können!
Ich bin ein wenig verwirrt. Was genau willst du erreichen? Nimmt der Konstruktor einen Parameter von MyClass oder beschränken Sie T auf MyClass? –