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();
}