2014-10-14 2 views
0

У меня есть общие типы A<T> и B<T>, и теперь я хочу построить тип C<T> : A<B<T>>, который, как вы можете видеть, является очень специфическим видом A<T>.Общие типы соединений в C#

Он попытался определения C так же, как это, но я получаю

The type `A<B<T>>' does not contain a constructor that takes `0' arguments 

Только в случае, если я построил конструктор

public C() {} 

, но я все еще получаю ошибку.

Примечание: Это абстракция проблемы. Предположим, что A и B имеют конструктор с формой

public A/B (T t) 
+0

Что такое конструктор 'Ā'? –

+1

Вам нужно предоставить больше кода, показывающего, что вы пытаетесь сделать. –

+1

Конструктор 'B' не имеет значения с вашим определением. –

ответ

1

Ваш шаблонного типа хорошо, но ваш конструктор без параметров не имеет аналогов в A<T>.

Вы должны вызвать конструктор базового класса с требуемыми параметрами.

Что-то вроде:

public C() : base("param1", "param2", 3) 
{ 
} 
+0

Посмотрите на это. –

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