Как я могу объявить абстрактный обобщенный класс, который наследуется от другого абстрактного класса? - PullRequest
5 голосов
/ 27 декабря 2010

Я сейчас нахожусь в тупике.

Что у меня есть: public abstract class Class1<T> where T : SomeBaseClass, new()

Я хочу, чтобы Class1 наследовал от: public abstract class Class2.Как я могу это сделать?Могу ли я сделать это?

Ответы [ 3 ]

11 голосов
/ 27 декабря 2010

Унаследованный класс предшествует предложению where .

public abstract class Class1<T> : Class2 where T : SomeBaseClass, new()

См. Также страницу MSDN на Общие классы .

1 голос
/ 27 декабря 2010

Вы просто помещаете базовый класс перед ограничением шаблона.

public abstract class Class1<T> : Class2 where T : SomeBaseClass, new()
0 голосов
/ 27 декабря 2010

Просто поместите предложение о наследовании перед ограничением универсального типа. ИМО будет более читабельным, если ограничение находится на отдельной строке.

public abstract class Class2
{
}

public abstract class Class1<T> : Class2
    where T : SomeBaseClass, new()
{
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...