virtual~~~~我理解错了吗?
class   Car 
 	{ 
 		public   virtual   void   DescribeCar() 
 		{ 
 			System.Console.WriteLine( "A "); 
 		} 
 	}   
 class   ConvertibleCar   :   Car 
 	{ 
 		public   new   virtual   void   DescribeCar() 
 		{ 
 			base.DescribeCar(); 
 			System.Console.WriteLine( "B "); 
 		} 
 	}   
 class   Minivan   :   Car 
 	{ 
 		public   override   void   DescribeCar() 
 		{ 
 			base.DescribeCar(); 
 			System.Console.WriteLine( "C "); 
 		} 
 	} 
 public   class   TT 
 	{ 
 	public   static   void   TestCars() 
 		{ 
 			Car[]   cars   =   new   Car[3]; 
 			cars[0]   =   new   Car(); 
 			cars[1]   =   new   ConvertibleCar(); 
 			cars[2]   =   new   Minivan();   
 			foreach   (Car   vehicle   in   cars) 
 			{ 
 			System.Console.WriteLine(vehicle.GetType()); 
 			vehicle.DescribeCar(); 
 			}    		 
 		} 
 	public   static   void   Main() 
 		{	 
 			TestCars();            
 		} 
                      } 
 输出的结果是: 
 TT.Car 
 A 
 TT.ConvertibleCar 
 A 
 TT.Minivan 
 A 
 C   
 请问第二个明明指向的是ConvertibleCar这个引用实例,为什么调的确实基类里面的方法?
------解决方案--------------------用的是new virtual 而不是override所一调用的是父类的方法
------解决方案--------------------加上了new的方法,都是在本类型中不会调用基类的方法,相当于是一个新的方法. 
 但是如果被(强制)转换成了基类的类型,那么系统会不理会这个被new的了新的方法.