2016-04-20 3 views
0

Я новичок в C#, и я пытаюсь создать конструктор, который использует конструктор базового класса. Мне нужно установить значения класса Engine в классе Constructor of Car.Использование конструктора унаследованного класса в конструкторе

Вот что я сейчас:

public Car (double brand, double model, double engineCap, double fuelCount, double fuelCap) 
: base (SetEngine(engineCap, fuelCount, fuelCap)) 
    { 
     this.brand = brand; 
     this.model = model; 

    } 

    private static Engine SetEngine(double engineCap, double fuelCount, double fuelCap) 
    { 
     Engine engine = new Engine(engineCap, fuelCount, fuelCap); 
     return engine; 
    } 
} 

Моя реализация, вероятно, здесь не так. Вот конструктор базового класса:

public Engine(double engineCap, double fuelCount, double fuelCap) 
    { 
     this.engineCap = engineCap; 
     this.fuelCount = fuelCount; 
     this.fuelCap = fuelCap; 
    } 

Базовый класс автомобиля - двигатель.

+0

Извините, missclick – user3653415

+0

Итак, какой * * базовый класс 'Car'? Можете ли вы опубликовать [mcve]? – nvoigt

+0

@ nvoigt базовый класс автомобиля - двигатель. – user3653415

ответ

3

Просто вызовите конструктор базового класса с параметрами, которые предполагаются:

public Car (double brand, double model, double engineCap, double fuelCount, double fuelCap) 
    : base (engineCap, fuelCount, fuelCap) 
{ 
    this.brand = brand; 
    this.model = model; 
} 
0

Создать экземпляр Engine первым, а затем передать его в качестве аргумента в машину. или создать экземпляр двигателя в самом автомобиле и назначить защищенному члену базового класса.

Смежные вопросы