using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;public class Vehicles : List<Vehicle>
{ #region "Constructors"
public Vehicles() : base()
{
} public Vehicles(int capacity) : base(capacity)
{
} public Vehicles(IEnumerable<Vehicle> collection) : base(collection)
{
}
#endregion}
请问这里的:1: List<Vehicle>是什么意思? 实现范型接口吗?
2: Vehicles() : base()  是继承基类的构造函数?
3: Vehicles(IEnumerable<Vehicle> collection) : base(collection)是什么意思?
4: 为何函数体内没有任何代码,是继承基类的构造函数?

解决方案 »

  1.   

    List<Vehicle>是一个泛型类,在这里作为你定义类的基类。
    Vehicles() : base()表示在调用Vehicles构造函数之前,先调用基类构造函数。构造函数不能继承。
    和上面的问题类似,不过这里是带有一个参数的构造函数。
    因为它不需要额外的代码,所以就没有。
      

  2.   

    基类List<Vehicle>中有多个构造函数
      

  3.   

      public Vehicles(int capacity) : base(capacity)
        {
        }请问Vehicles(int capacity) 的capacity 和 base里面的capacity的 是一个变量把?List的构造函数是不是这样的  public List(T capacity)
        {
        }
      

  4.   

    可以这么理解。capacity不过是个形参啦。你换成别的也可以。
      

  5.   


    恩,我明白了,谢谢 对于 public Vehicles(IEnumerable<Vehicle> collection) : base(collection)
        {
        }List的构造函数是不是 public List(IEnumerable<Vehicle> collection) 
        {
        }
      

  6.   

     public List(IEnumerable<T> collection)  
      {
      }抱歉,打错了
      

  7.   

    你理解反了,因为List有这样的构造函数才能这样调用。不是因为这样调用,所以有这么一个构造函数。你的想法太NB了。
      

  8.   


    不太明白.既然它可以调用基础List的base(collection),那基类不就应该有一个这样的构造函数吗?
    public List(IEnumerable<Vehicle> collection)  
      {
      }
    当然,正因为基类有这样的一个函数,才可以这样调用.这不是一个意思吗