Sobes.tech
Junior — Middle

Peut-on déclarer des variables ou des champs dans l'interface?

sobes.tech IA

Réponse de l'IA

En C#, dans les interfaces, il n'est pas possible de déclarer des variables ou des champs ordinaires, car une interface ne définit qu'un contrat : un ensemble de méthodes, propriétés, événements et indexeurs sans implémentation.

Cependant, à partir de C# 8.0, il est possible de déclarer dans les interfaces :

  • Constantes (champs static readonly avec initialisation)
  • Méthodes statiques avec implémentation
  • Propriétés avec implémentation par défaut

Mais il n'est pas possible de déclarer des champs non statiques ordinaires dans les interfaces.

Exemple de constante dans une interface :

public interface IExample
{
    const int MaxValue = 100;
    void DoWork();
}