Re[2]: C# - добавили бардака - одобряете?
От: Shtole  
Дата: 09.09.22 08:17
Оценка: +1
Здравствуйте, Aquilaware, Вы писали:

A>Вместо такого ужаса теперь посмотрим на произведение исскуства, на картину Художника:


A>
A>if (TryGetBicycle() is not null and var bicycle)
A>    Console.WriteLine("Bicycle owner is {0}.", bicycle.Owner);
A>else if (TryGetMotorcycle() is not null and var motorcycle)
A>    Console.WriteLine("Motorcycle owner is {0}.", motorcycle.Owner);
A>else if (TryGetCar() is not null and var car)
A>    Console.WriteLine("Car owner is {0}.", car.Owner);
A>else
A>    // ... красота на любом уровне "вложенности"! ...
A>


Для произведения искусства тут слишком много копипасты. Как по мне, я бы сделал список типов (Bicycle, Motorcycle, Car) и проверял соответствие каждому, а при выводе в консоль использовал бы метаданные (имя типа или назначенная ему человекочитаемая строка). А если бы набор TryGetX() был внешним и не поддавался переписыванию, сделал бы список хотя бы методов (TryGetBicycle, TryGetMotorcycle, TryGetCar).
Do you want to develop an app?
Отредактировано 14.09.2022 14:14 Shtole . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.