怎么知道对象有IPassengerCarrier接口??object obj;//这个Object是你获得的对象if( obj is IPassengerCarrier )
  //对象实现了IPassengerCarrier接口

解决方案 »

  1.   

    public class Traffic
    {
       public static void Main( string[] args )
       {
            object obj;
            
            obj = new Car();
            AddPassenger( obj );        obj = new Compact();
            AddPassenger( obj );        obj = new PickUp();
            AddPassenger( obj );        obj = new SUV();
            AddPassenger( obj );        obj = new Train();
            AddPassenger( obj );        obj = new PassengerTrain();
            AddPassenger( obj );        obj = new FrelghtTrain();
            AddPassenger( obj );        obj = new DoubleBoger();
            AddPassenger( obj );
       }
       
       public static void AddPassenger( object obj )
       {
          if( obj is IPassengerCarrier )
             Console.WriteLine( obj.ToString() );
       }
    }