static void Main(string[] args)
{
IVehicle subaru = new Subaru();
if (subaru is ICar car)
{
Console.WriteLine(car.Maker);
return;
}
Console.WriteLine("PlaneはICarを継承していません。");
Console.ReadLine();
}
▸ 実行ボタンで結果を表示
Source収録記事
この snippet は記事の「Interfaceを継承していたらコンバートする」セクションに登場する。コードの前後の文脈・ハマりどころの解説は記事本文で。
同じ記事から
8 件public interface IVehicle { string MoveSound { get; } }未収録
Interfaceの準備
#ef6f895a3a12
public interface ICar { string Maker { get; } }未収録
Interfaceの準備
#34bea12e472d
public class Subaru : IVehicle , ICar { public string MoveSound => "ブーブー"; public string Maker => "Subaru";未収録
Interfaceの準備
#bb06c59edfc9
public class Plane : IVehicle { public string MoveSound => "ごぉーーーーーー"; }未収録
Interfaceの準備
#4daba4d61b7d
static void Main(string[] args) { var plane = new Plane(); var car = plane as ICar;
▶ 実行可
Interfaceを継承しているかの判断
#410a80545d69
static void Main(string[] args) { IVehicle plane = new Plane(); var car = plane as ICar;
▶ 実行可
InterfaceからInterfaceの継承チェックもできる。
#798be77e4d3a
