如何在 C# 中对泛型类型指定多个约束?

Posted

技术标签:

【中文标题】如何在 C# 中对泛型类型指定多个约束?【英文标题】:How do I specify multiple constraints on a generic type in C#? 【发布时间】:2010-09-07 23:08:51 【问题描述】:

对多种类型设置约束的语法是什么?基本示例:

class Animal<SpeciesType> where SpeciesType : Species

我想在以下定义中对这两种类型进行约束,使得SpeciesType 必须从 Species 继承,OrderType 必须从 Order 继承:

class Animal<SpeciesType, OrderType>

【问题讨论】:

【参考方案1】:
public class Animal<SpeciesType,OrderType>
    where SpeciesType : Species
    where OrderType : Order


【讨论】:

谢谢!如果我不经常写它,我总是会忘记它!【参考方案2】:

你应该可以走了:

class Animal<SpeciesType, OrderType>
    where SpeciesType : Species
    where OrderType : Order 

【讨论】:

以上是关于如何在 C# 中对泛型类型指定多个约束?的主要内容,如果未能解决你的问题,请参考以下文章

请教一个unity有关于泛型参数的问题

C# 泛型方法约束为继承自某类时,调用方法,传子类实参,为什么报错?应该怎么写

C#学习笔记8

swift 在Release Build with Whole Module Optimization中对泛型类进行子类化时,不会调用重写函数。 HTTPS://bugs.swift.or

C# 泛型类型参数的约束

泛型类的基类约束指定类本身