代码之家  ›  专栏  ›  技术社区  ›  Austin Salonen gmlacrosse

C:泛型语法问题

  •  1
  • Austin Salonen gmlacrosse  · 技术社区  · 15 年前

    在这个类定义中,要求t也是IComparable的语法是什么?

    public class EditItems<T> : Form
    
    5 回复  |  直到 15 年前
        1
  •  7
  •   Dario    15 年前
    public class EditItems<T> : Form where T : IComparable
    
        2
  •  11
  •   Jon Skeet    15 年前

    可以 只使用 where T : IComparable 如其他答案所示。我发现约束它通常更有帮助:

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

    也就是说,它必须是一种与自身具有可比性的类型。

    首先,对于值类型,这避免了装箱。另一方面,它意味着你不太可能尝试比较两个不符合 真的? 可比的。

        3
  •  4
  •   bruno conde    15 年前
    public class EditItems<T> : Form where T : IComparable
    
        4
  •  3
  •   Lucas Jones    15 年前

    使用A 类型约束 (见 MSDN ):

    public class EditItems<T> : Form where T : IComparable
    
        5
  •  3
  •   Bryan Hunter    15 年前
    public class EditItems<T> : Form where T : IComparable
    {...}