你会定义一个集合类型,如果愿意,如何定义?

Y.Y*_*hus 4 .net c#

如果您经常在您的程序中使用您喜欢的集合路径:

  1. 键入List<T>无处不在.

  2. 定义类:

    class TT:List<T>
    {
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 定义类:

    class TT
    {
       private List<T> _tt;
       // ...
    }
    
    Run Code Online (Sandbox Code Playgroud)

我认为这不是很重要,但在上一个项目之后我开始经常考虑它.

SLa*_*aks 5

如果它将添加其他功能,您应该只创建自己的集合类.

当您创建自己的集合类时,您应该从System.Collections.ObjectModel.Collection<T>继承,而不是List<T>.
继承此类允许您在修改集合时覆盖InsertItemRemoveItem运行自定义逻辑.(继承时不可能List<T>)

  • +1用于阐明`System.Collections.ObjectModel.Collection <T>`类 (2认同)