Vincolo di tipo multiplo (OR) del metodo generico

Leggendo questo , ho appreso che era ansible consentire ad un metodo di accettare parametri di più tipi rendendolo un metodo generico. Nell’esempio, il seguente codice viene utilizzato con un vincolo di tipo per garantire che “U” sia un object IEnumerable .

 public T DoSomething(U arg) where U : IEnumerable { return arg.First(); } 

Ho trovato un altro codice che consentiva l’aggiunta di più vincoli di tipo, come ad esempio:

 public void test(string a, T arg) where T: ParentClass, ChildClass { //do something } 

Tuttavia, questo codice sembra imporre che arg deve essere sia un tipo di ParentClass e ChildClass . Quello che voglio fare è dire che arg potrebbe essere un tipo di ParentClass o ChildClass nel modo seguente:

 public void test(string a, T arg) where T: string OR Exception { //do something } 

Il tuo aiuto è apprezzato come sempre!