C#:泛型语法问题

时间:2009-10-07 17:09:45

标签: c# generics

要求T的语法在这个类定义中也是IC Comparable吗?

public class EditItems<T> : Form

5 个答案:

答案 0 :(得分:11)

可以仅使用where T : IComparable,如其他答案所示。我发现通过以下方式限制它通常会更有帮助:

public class EditItems<T> : Form where T : IComparable<T>

那说它必须是一种与自身相当的类型。

首先,对于价值类型,这可以避免拳击。另一方面,这意味着您不太可能尝试比较两个非真正可比的值。

答案 1 :(得分:7)

public class EditItems<T> : Form where T : IComparable

答案 2 :(得分:4)

public class EditItems<T> : Form where T : IComparable

答案 3 :(得分:3)

使用类型约束(请参阅MSDN):

public class EditItems<T> : Form where T : IComparable

答案 4 :(得分:3)

public class EditItems<T> : Form where T : IComparable
{...}