Рад помочь :-)
у делатьadapter
шаблон.
Есть ошибка вAutoToTravelAdapter
Переехать(); метод Как я могуoverride
а такжеinherit
Транспортный метод? Я пытаюсь использовать виртуальный, но он не работает. Я переключаю на public override void Move () в обоих адаптерах, и это работает! Спасибо,Зоар Пелед!
using System;
namespace Adapter
{
class Program
{
static void Main(string[] args)
{
Traveller traveller = new Traveller();
Transport camelTransport = new CamelToTravelAdapter();
Transport autoTransport = new AutoToTravelAdapter();
traveller.Travel(camelTransport);
traveller.Travel(autoTransport);
Console.Read();
}
}
public class Transport
{
virtual public void Move() { Console.WriteLine("trans Moves"); }
}
class Auto
{
public void Drive()
{
Console.WriteLine("Car drive");
}
}
class Traveller
{
public void Travel(Transport transport)
{
transport.Move();
}
}
class Camel
{
public void Move()
{
Console.WriteLine("Camel Moves");
}
}
public class CamelToTravelAdapter : Transport
{
private Camel camel = new Camel();
private new void Move()
{
camel.Move();
}
}
public class AutoToTravelAdapter : Transport
{
private Auto auto = new Auto();
**private override void Move()**
{
auto.Drive();
}
}
}