Sobes.tech
Junior — Middle

Vai interfeisā ir iespējams deklarēt mainīgos vai laukus?

sobes.tech AI

Atbilde no AI

C# valodā interfeisos nevar deklarēt parastas mainīgās vai laukus, jo interfeiss nosaka tikai līgumu — metožu, īpašību, notikumu un indeksētāju kopumu bez realizācijas.

Tomēr no C# 8.0 versijas interfeisos var deklarēt:

  • Konstantes (statiski readonly lauki ar inicializāciju)
  • Statiski metodes ar realizāciju
  • Noklusējuma īpašības ar realizāciju

Bet parastās, nestatiskās lauki interfeisos deklarēt nav iespējams.

Piemērs, kā deklarēt konstanti interfeisā:

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