Je reçois le compilateur avertissement suivant:Est-ce que l'héritage cache vraiment les méthodes?
'Resources.Foo.GetType()' hides inherited member 'object.GetType()'. Use the new keyword if hiding was intended. Resources.NET\Resources\Class1.cs 123 20 Resources
pour cette (très simplifié) Code:
public interface IFoo
{
int GetType();
string GetDisplayName();
}
public class Foo : IFoo
{
public int GetType() { return 3; } *** Warning: points to here (line 123)***
public string GetDisplayName() { return "Foo"; }
}
Note, ce que je ne comprends pas pourquoi la fonction GetDisplayName() ne sont pas un avertissement. Je suis clairement en train de négliger quelque chose.
J'ai contourné Stack Overflow et googlé cette erreur et il semble s'appliquer à l'héritage de classe, pas d'interfaces. Je suis vraiment confus pourquoi cela serait déclenché pour l'interface (qui définit ses méthodes comme virtuelles).
Merci d'avance pour la perspicacité.
Wow, vous êtes tous incroyables.4 réponses de qualité en moins de 4 minutes! Comment choisit-on la meilleure réponse? Je pense que les liens l'ont fait pour moi, même si c'était proche. Merci encore à tous! – teleball