J'ai une structure de classe commePourquoi le constructeur base() n'est-il pas nécessaire?
abstract class Animal {
public Animal(){
//init stuff..
}
}
class Cat : Animal {
public Cat(bool is_keyboard) : base() //NOTE here
{
//other init stuff
}
}
Maintenant, regardez la ligne noté. Si vous supprimez : base()
alors il compilera sans erreur.
Pourquoi est-ce? Est-il possible de désactiver ce comportement?
Cool, vous apprenez quelque chose tous les jours ... J'ai toujours mis explicitement la base(), probablement continuer à le faire parce que combien de développeurs se rendent compte là-bas est un appel implicite à cela? – slugster
Aussi, j'ai trouvé l'article astucieux de Skeet qui m'a tout raconté: http://www.yoda.arachsys.com/csharp/constructors.html – Earlz
@slugster, je ne m'en suis pas rendu compte ... alors oui. – Earlz