Ogólna metoda typu wielokrotnego (OR)

Czytanieto, Dowiedziałem się, że możliwe jest zezwolenie na metodę akceptowania parametrów wielu typów, czyniąc ją metodą ogólną. W tym przykładzie zastosowano następujący kod z ograniczeniem typu, aby zapewnić, że „U” jestIEnumerable<T>.

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

Znalazłem więcej kodu, który pozwolił na dodanie wielu ograniczeń typu, takich jak:

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

Jednak wydaje się, że ten kod wymusza toarg musi być zarówno rodzajemParentClass i ChildClass. Chcę tylko powiedzieć, że arg może być rodzajemParentClass lub ChildClass W następujący sposób:

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

Twoja pomoc jest doceniana jak zawsze!

questionAnswers(3)

yourAnswerToTheQuestion