CollectionBase是一个抽象类,实现了IList接口,并在类结构中定义了IList类型的属性List. 原语句为:
我以前一直有个误区,就是忽略了这里的List是一个属性而不是一个字段。注意get { return this;} 该语句返回本类对象,即继承抽象类的类的对象。加入这个类的类名为Animals:CollectionBase 那么就返回Animals的对象。我以前一直搞不懂为什么List为被实例化,它应该为null,在Animals类的成员函数中如果使用语句:List.Add();的话,就是不合理的,为此自己还做了大把测试。最后,我给自己做测试的接口型成员加上了同上的get { return
this;}语句后,程序就不报错了。由此得出属性的功能真的十分强大啊。直接把List实例化了。这体现了属性的一大优势。