Наследование, CS0051 Inconsistent accessibility: parameter type Fuel is less accessible than method Car.Car

Всем привет! Помогите пожалуйста с заданием. Нужно создать класс Транспорт от него унаследовать класс Авто, от которого унаследовать классы грузовик и легковой автомобиль. В каждом классе должны быть новые поля(хотя бы одно). Классы Транспорт и Авто, судя по всему, должны быть абстрактными.

 public abstract class Transport
    {
        public string Model { get; set; }
        public int Price { get; set; }
        public int Weight { get; set; }
        public string Brand { get; set; }
        public ConsoleColor Color { get; set; } = ConsoleColor.White;
        public Transport(string model,string brand,int weight,int price,ConsoleColor color)
        {
            Model = model;
            Brand = brand;
            Weight = weight;
            Price = price;
            Color = color;
        }
        public abstract void Info();
    }
enum Fuel
    {
        Gas,
        Petrol,
        Diesel,
        Electric
    }
    public abstract class Car : Transport
    {
        public Fuel TypeOfFuel { get; set; } = Fuel.Petrol;
        public Car(string model, string brand, int weight, int price,Fuel fuel, ConsoleColor color):base(model,brand,weight,price,color)
        {
            TypeOfFuel=fuel;
        }
    }
 public class PassengerCar:Car
    {
        public int Places { get; set; }
        public PassengerCar(string model, string brand, int weight, int price, Fuel fuel, ConsoleColor color, int places)
            : base(model, brand, weight, price, fuel, color)
        {
            Places = places;
        }
        public override void Info()
        {
            var c_tmp = Console.BackgroundColor;
            Console.BackgroundColor = Color;
            Console.WriteLine($"{Model} {Brand} {Weight} {Price} {TypeOfFuel}");
            Console.BackgroundColor = c_tmp;
        }
    }

Я пытаюсь добавить поле “Вид Топлива” в класс Авто, но получаю ошибку. Как это исправить?

Какую?

|Error|CS0051|Inconsistent accessibility: parameter type ‘Fuel’ is less accessible than method 'Car.Car(string, string, int, int, Fuel)

Ругает на enum

Если сделать класс Авто неабстрактным, то все нормально, но он должен быть абстрактным, а дальше уже от него наследуются классы Грузовик и Легковушка

public enum Fuel

Не нормально.
https://dotnetfiddle.net/3LnLxN

1 лайк

Спасибо, никогда бы не догадался, что дело в этом)