Search code examples
c#.netoopgenericstype-constraints

How do I specify multiple constraints on a generic type in C#?


What is the syntax for placing constraints on multiple types? The basic example:

class Animal<SpeciesType> where SpeciesType : Species

I would like to place constraints on both types in the following definition such that SpeciesType must inherit from Species and OrderType must inherit from Order:

class Animal<SpeciesType, OrderType>

Solution

  • public class Animal<SpeciesType,OrderType>
        where SpeciesType : Species
        where OrderType : Order
    {
    }