Sobes.tech
Junior — Middle

Ar galima interfeise deklaruoti kintamuosius ar laukus?

sobes.tech AI

Atsakymas iš AI

C# kalboje interfeisuose nėra galima deklaruoti įprastų kintamųjų ar laukų, nes interfeisas apibrėžia tik sutartį — metodų, savybių, įvykių ir indeksatorių rinkinį be įgyvendinimo.

Tačiau nuo C# 8.0 versijos interfeisuose galima deklaruoti:

  • Konstantes (statiški readonly laukai su inicializacija)
  • Statinius metodus su įgyvendinimu
  • Numatytojių savybių įgyvendinimo

Tačiau įprastų, nestatinio pobūdžio laukų deklaruoti interfeisuose negalima.

Pavyzdys, kaip deklaruoti konstantą interfeise:

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