Можно ли определить общее ограничение для нескольких классов, которые не используют базовый класс/интерфейс?Ограничение общего типа для значимых классов
Для примера.
class A
{
}
class B
{
}
class C
{
void Test<T>(T someObj)
{
...
}
}
Я хочу передать класс А или В методу испытаний, ничего другого.
Я знаю, что могу установить оператор where с базовым классом/интерфейсом A или B, но я не могу указать базовый интерфейс/класс для связанных классов в моей ситуации.
Нет, если вы поддерживаете только два типа без общего интерфейса, то ваш метод ISN 't generic, вместо этого используйте перегрузку. – Lee
Согласитесь, просто используйте перегрузку метода. – Ric
Короткий ответ: нет, вы не можете, нет конструкций типа «или» в общих типах, поэтому вы не можете сказать, где T: A или T: B. –