Ist es möglich, eine Typeinschränkung zu haben, die ein "oder" zweier Typen anstelle von "und" ist. Ein "und" wird erreicht, indem zwischen den beiden Typen ein Komma gesetzt wird. Aber was ist mit einem "oder"?Bedingte Entweder-Oder-Bedingung
class Type1<T, U>
{
public static Type1<T, U> New<V>(V v)
where V : T, U
{
return new Type1<T, U>();
}
}
So in dem obigen Beispiel das Argument in New() übergeben muß sowohl ein T und ein U. sein, aber ich will es entweder ein T oder ein U.
+1 Ich habe bereits zwei öffentliche Überlastungen von New. Mit diesem Ansatz hätte ich also vier öffentliche Überlastungen plus die private. Es ist eine Menge Überlastungen, aber trotzdem würde es funktionieren. – HappyNomad