2012-03-22 5 views
-3

Pourquoi ne puis-je faire quelque chose comme ça dans C# (pseudo code suit)héritage Interface et classes dérivées

Interface1 
{ 
    Method1(); 
} 

Interface2 : Interface1 
{ 
    Method2(); 
} 

Class1 : Interface1 
{ 
    Method1() 
    { 
    } 
} 

Class2 : Class1, Interface2 
{ 
    Method2() 
    { 
    } 
} 
+1

Quelle est exactement votre question ou erreur que vous essayez de résoudre? – ashes999

+1

Probablement parce que la moitié de ce code est une syntaxe C# valide. Avez-vous un code C# réel qui ne compile pas? –

+0

Il suffit d'utiliser 'interface' avant le nom de l'interface et le type de retour avant le nom de la méthode –

Répondre

3

Vous pouvez, si vous corrigez votre erreur dans la définition d'une interface et de spécifier un type de retour sur méthodes

interface Interface1 
{ 
    void Method1(); 
} 

interface Interface2 : Interface1 
{ 
    void Method2(); 
} 

class Class1 : Interface1 
{ 
    public void Method1() 
    { 
    } 
} 

class Class2 : Class1, Interface2 
{ 
    public void Method2() 
    { 
    } 
} 
2

Vous pouvez le faire.

public interface Interface1 
{ 
    void Method1(); 
} 

public interface Interface2 : Interface1 
{ 
    void Method2(); 
} 

public class Class1 : Interface1 
{ 
    public void Method1() 
    { 
    } 
} 

public class Class2 : Class1, Interface2 
{ 
    public void Method2() 
    { 
    } 
}