static void Test4(Shapev2 shape) { // Azonnal készítünk egy változót, ha igaz if (shape is Circlev2 circle) { Console.WriteLine(circle.CalculateArea() * 2); } else { Console.WriteLine(shape.CalculateArea()); } }
static void Test3(Shapev2 shape) { if (shape is Circlev2) { var circle = (Circlev2)shape; // Biztos jó Console.WriteLine(circle.CalculateArea() * 2); } else { Console.WriteLine(shape.CalculateArea()); } }
static void Test5(Shapev2 shape) { switch (shape) { case Circlev2 circle: Console.WriteLine(circle.CalculateArea() * 2); break; case Rectanglev2 rectangle: Console.WriteLine(rectangle.CalculateArea() * 3); break; default: Console.WriteLine(shape.CalculateArea()); break; } }
static void Test2(Shapev2 shape) { // null, ha nem sikerül var circle = shape as Circlev2; }
static void Test1(Shapev2 shape) { var circle = (Circlev2)shape; }