Sobes.tech
Junior — Middle

Czy można deklarować zmienne lub pola w interfejsie?

sobes.tech AI

Odpowiedź od AI

W C# nie można deklarować zwykłych zmiennych lub pól w interfejsach, ponieważ interfejs określa tylko kontrakt — zestaw metod, właściwości, zdarzeń i indeksatorów bez implementacji.

Jednak od wersji C# 8.0, w interfejsach można deklarować:

  • Stałe (pola static readonly z inicjalizacją)
  • Statyczne metody z implementacją
  • Właściwości z domyślną implementacją

Nie można jednak deklarować zwykłych, niestatycznych pól w interfejsach.

Przykład stałej w interfejsie:

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