アダプタクラスとターゲットクラスの両方が同じインターフェイスを実装する...なぜ私は、同じオブジェクトのように扱うことができませんか?ここで変換エラーが発生するのはなぜですか?
interface ISmartPhone
{
string Name { get; set; }
string Type { get; set; }
void ShowTextWithImage();
}
public class BasicFlipPhoneAdapter : ISmartPhone
{
IBasicPhone basicPhone;
public BasicFlipPhoneAdapter(IBasicPhone basicPhone)
{
this.basicPhone = basicPhone;
}
public string Name { get; set; }
public string Type { get; set; }
public void ShowTextWithImage()
{
basicPhone.ShowBasicText();
}
}
public class iPhone : ISmartPhone
{
public string Name { get; set; }
public string Type { get; set; }
public void ShowTextWithImage()
{
Console.WriteLine("O.o cool image!");
}
}
エラーが発生します。
iPhone flipPhoneAdapter = new BasicFlipPhoneAdapter(flipPhone);
インターフェースはどのようなものが見えますか? – doctorless