переопределение абстрактного универсального метода из не общего класса

базовый класс

class Drawer
{
    public abstract void Draw<T>(T type);    
}

производный класс №1

class ADrawer : Drawer
{
    public override void Draw<T>(List<T> list)
    {
        foreach (var a in list)
        {
            DrawA(a);
        }
    }

    public void DrawA(Agent a)
    {
        //draw code here
    }
}

производный класс №2

class AnotherDrawer : Drawer
{
    public override void Draw<T>(T number)
    {
        if (number == 1)
        {
            //draw code
        }
    }
}

Ошибка в производном классе №1 : «не найдено подходящего метода для переопределения»

Должен ли я использовать «виртуальный» в базовом классе, а также «абстрактный»?

Как мне установить тип базового параметра, чтобы разрешить различные параметры в производных классах ?

6
задан Whiplash450 8 February 2012 в 16:50
поделиться