我有约束的问题,因为我想,类型参数是一个引用类型只是3个类中的一个,而不是任何其他类,因此约束“其中L:class”不正常。
以下是示例:
public class MyClass <L>
where L : Circle
where L: Rectangle
where L: Triangle
这意味着必须遵守所有限制。不幸的是,我还没有找到答案。
非常感谢。
答案 0 :(得分:6)
您应该创建Circle
,Rectangle
和Triangle
继承自的基类或接口。
例如:
interface IShape
{
}
class Circle : IShape
{
// ...
}
class Rectangle : IShape
{
// ...
}
class Triangle : IShape
{
// ...
}
然后对IShape
:
public class MyClass <L>
where L : IShape