Sobes.tech
Junior — Middle

Lehet-e változókat vagy mezőket deklarálni a felületen?

sobes.tech MI

Válasz az MI-től

C#-ban az interfészekben nem lehet normál változókat vagy mezőket deklarálni, mivel az interfész csak szerződést határoz meg — metódusok, tulajdonságok, események és indexelők halmazát, implementáció nélkül.

Azonban a C# 8.0-tól kezdődően az interfészekben deklarálhatók:

  • Konstansok (statikus readonly mezők inicializálással)
  • Statikus metódusok implementációval
  • Alapértelmezett implementációval tulajdonságok

De normál, nem statikus mezők deklarálása nem megengedett az interfészekben.

Példa egy konstansra egy interfészben:

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