Restrição do tipo multiple (OR) de método genérico
LeituraistoEu aprendi que era possível permitir que um método aceitasse parâmetros de vários tipos, tornando-o um método genérico. No exemplo, o código a seguir é usado com uma restrição de tipo para garantir que "U" seja umIEnumerable<T>
.
public T DoSomething<U, T>(U arg) where U : IEnumerable<T>
{
return arg.First();
}
Eu encontrei mais alguns códigos que permitiram adicionar várias restrições de tipos, como:
public void test<T>(string a, T arg) where T: ParentClass, ChildClass
{
//do something
}
No entanto, este código parece impor quearg
deve ser tanto um tipo deParentClass
e ChildClass
. O que eu quero fazer é dizer que arg pode ser um tipo deParentClass
ou ChildClass
da seguinte maneira:
public void test<T>(string a, T arg) where T: string OR Exception
{
//do something
}
Sua ajuda é apreciada como sempre!