Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace _10
- {
- internal class Program
- {
- static void Main(string[] args)
- {
- Car volvo = new Car("Volvo 342G", 'B', 200, false);
- volvo.Info();
- Car mersedes = new Car("Mersedes-Benz G-Class 4", 'G', 400, true);
- mersedes.Info();
- Car lada = new Car("Priora", 'B', 180, false);
- lada.Info();
- }
- }
- }
- ------------------------------------------------------------------------------------------------
- using System;
- namespace _10
- {
- internal class Car // класс автомобиль
- {
- public string Name { get; set; } //название автомобиля
- public char CarClass { get; set; } //класс автомобиля
- public int Power { get; set; } //мощность л.с.
- public bool Ability { get; set; } //возможность расчипирования и усиления мощности
- public const int Ratio = 2; // постоянный коэффициент увеличения мощности
- public Car() { }
- public Car(string Name, char CarClass, int Power, bool ability) //конструктор с параметрами название, класс, мощность и возможность усиления мощности автомобиля
- {
- this.Name = Name;
- this.CarClass = CarClass;
- this.Power = Power;
- Ability = ability;
- }
- public void Info() // метод выводящий информацию об автомобиле
- {
- Func<bool, int> MaxPower = (a) =>
- {
- if (a == true)
- {
- return Power * Ratio; //объявление делегата соответсвующий сигнатуре согласно варианту
- }
- else
- {
- return Power;
- }
- };
- Action<Func<bool, int>, char, string> info = (maxPower, a, b) =>
- {
- int Result = maxPower(Ability); // в переменную Result записывается значение, которое возвращает делегат при передаче в него параметра
- Console.WriteLine($"Название автомобиля:{b}\nМаксимальная мощность автомобиля:{ Result}\nКласс автомобиля:{ a}\n");
- };
- info(MaxPower, CarClass, Name); //вызывание метода, который соответсвует сигнатуре делегата варианта Action<Func<bool, int>, char, string>
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement