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!

questionAnswers(3)

yourAnswerToTheQuestion