Pourquoi ne peuvent-C# interfaces qui contiennent des champs?

Par exemple, supposons que j'ai envie d'une ICar interface et que toutes les implémentations de contenir le champ Year. Est-ce à dire que chaque mise en œuvre doit déclarer séparément Year? Ne serait-il pas plus agréable de simplement définir ce dans l'interface?

  • Les Interfaces n'ont pas mise en œuvre, pour cette utilisation d'une classe abstraite, avec la propriété Année
  • Pour ajouter à ce qui a été dit ici, les interfaces sont des contrats, et un champ est un détail d'implémentation, en ce qu'elle définit une fente dans la mémoire de la machine pour mettre une valeur (scalaires ou de l'adresse du pointeur) dans.
  • Mais si le champ est public, c'est une partie du contrat et pas qu'un détail d'implémentation, droit?