Читая this, я узнал, что можно разрешить методу принимать параметры нескольких типов, сделав его универсальным методом. . В примере следующий код используется с ограничением типа, чтобы гарантировать, что "U" является IEnumerable
.
public T DoSomething(U arg) where U : IEnumerable
{
return arg.First();
}
Я нашел еще код, который позволял добавлять ограничения нескольких типов, например:
public void test(string a, T arg) where T: ParentClass, ChildClass
{
//do something
}
Однако этот код, по-видимому, требует, чтобы arg
был одновременно типом ParentClass
иДочерний класс
. Что я хочу сделать, так это сказать, что arg может быть типом ParentClass
илиChildClass
следующим образом:
public void test(string a, T arg) where T: string OR Exception
{
//do something
}
Ваша помощь приветствуется, как всегда!