Я получаю следующую ошибку:
Ошибка CS0311 Тип «ConsoleApp1.Diesel» нельзя использовать в качестве параметра типа «T» в универсальном типе или методе «Car». Нет неявного преобразования ссылок из ConsoleApp1.Diesel в ConsoleApp1.Fuel. ConsoleApp1
Почему я не могу ограничиться дженериком и интерфейсом?
using System;
namespace ConsoleApp1
{
public interface IVehicle
{
void StartEngine();
}
public abstract class Fuel
{ }
public class Diesel : Fuel
{ }
public class Engine<F>
{
public void Start()
{ }
private void TransformFuelToEnergy()
{ }
}
public class Car<T> where T : Fuel, IVehicle
{
private Engine<T> engine;
public void Start()
{
engine.Start();
}
}
class Program
{
static void Main(string[] args)
{
Car<Diesel> myCar;
}
}
}
Diesel
не происходит отFuel
. - person JuanR   schedule 30.10.2018