Allgemeine Einschränkung für Methodenvielfach (OR)
lesendieseIch habe gelernt, dass es möglich ist, einer Methode das Akzeptieren von Parametern mehrerer Typen zu ermöglichen, indem sie zu einer generischen Methode gemacht wird. In diesem Beispiel wird der folgende Code mit einer Typeinschränkung verwendet, um sicherzustellen, dass "U" ein istIEnumerable<T>
.
public T DoSomething<U, T>(U arg) where U : IEnumerable<T>
{
return arg.First();
}
Ich habe etwas mehr Code gefunden, der das Hinzufügen mehrerer Typeinschränkungen ermöglichte, wie zum Beispiel:
public void test<T>(string a, T arg) where T: ParentClass, ChildClass
{
//do something
}
Dieser Code scheint dies jedoch zu erzwingenarg
muss beides sein eine art vonParentClass
und ChildClass
. Was ich tun möchte, ist zu sagen, dass Arg eine Art von sein könnteParentClass
oder ChildClass
auf folgende Art:
public void test<T>(string a, T arg) where T: string OR Exception
{
//do something
}
Ihre Hilfe wird wie immer geschätzt!