C# Erreur: Parent ne contient pas un constructeur qui prend 0 arguments

Mon code est

public class Parent
{

    public Parent(int i)
    {
        Console.WriteLine("parent");
    }
}

public class Child : Parent
{
    public Child(int i)
    {
        Console.WriteLine("child");
    }

}

J'obtiens l'erreur:

Parent ne contient pas un constructeur qui prend 0 arguments.

Je comprends le problème, c'est que Parent n'a pas de 0 constructeur avec arguments. Mais ma question est, pourquoi avons-nous besoin d'un constructeur avec arguments zéro? Pourquoi ne pas le code de fonctionner sans elle?

  • J'ai eu le même message d'erreur pour une autre raison, lors de l'extension d'une classe abstraite, avec un intérieur de constructeur à partir d'une autre assemblée. C'est actuellement le cas pour TypeInfo, FieldInfo, ... dans DotNetCore. Je voulais juste partager cette connaissance qu'il m'a fallu des heures pour résoudre le problème.