Как указать несколько ограничений для универсального типа в C #? - PullRequest
32 голосов
/ 05 сентября 2008

Каков синтаксис для наложения ограничений на несколько типов? Базовый пример:

class Animal<SpeciesType> where SpeciesType : Species

Я хотел бы наложить ограничения на оба типа в следующем определении, так что SpeciesType должен наследовать от Species, а OrderType должен наследовать от Order:

class Animal<SpeciesType, OrderType>

Ответы [ 2 ]

60 голосов
/ 05 сентября 2008
public class Animal<SpeciesType,OrderType>
    where SpeciesType : Species
    where OrderType : Order
{
}
18 голосов
/ 05 сентября 2008

Вы должны быть в состоянии пойти:

class Animal<SpeciesType, OrderType>
    where SpeciesType : Species
    where OrderType : Order {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...