2010-05-27 6 views
3

Quelqu'un peut-il m'aider avec ce problème de syntaxe avec C#? Je n'ai aucune idée de comment le faire.C# Génériques Problème d'héritage multiple

class SomeClass<T> : SomeOtherClass<T> where T : ISomeInterface , IAnotherInterface 
{ 
... 
} 

Je veux SomeClass à hériter de SomeOtherClass et IAnotherInterface et T pour hériter ISomeInterface ne

Il semble que le problème est que l'emplacement des vis mot-clé tout en place afin que le compilateur pense à la fois ISomeInterface et IAnotherInterface devrait être hérité par T.

Ce problème est très ennuyeux et je pense que la solution est une sorte de parenthèse mais j'ai essayé et j'ai échoué à trouver celui qui fonctionne. En outre, le fait de changer l'ordre des deux éléments hérités de SomeClass ne fonctionne pas car la classe héritée doit toujours précéder les interfaces. Je n'ai pas trouvé de solution sur les pages MSDN C# génériques et je ne peux pas croire que je suis la première personne à avoir ce problème.

Merci, toute aide est très appréciée!

Répondre

15
class SomeClass<T>: SomeOtherClass<T>, IAnotherInterface where T: ISomeInterface 
{ 
... 
} 
+0

merci! Je savais que c'était sous mon nez! –

+0

lol réponse simple pour une telle question loooong, souffrant. – Will