Sobes.tech
Junior — Middle

Vai ir iespējams tieši deklarēt metodes realizāciju interfeisa definīcijā?

sobes.tech AI

Atbilde no AI

Sākot ar C# 8.0, interfeisos ir tās definīcijā ir iespējams tieši deklarēt metožu realizācijas — to sauc par "noklusējuma interfeisa metožu" (default interface methods). Tas ļauj pievienot jaunas metodes interfeisiem, nesabojājot esošās realizācijas.

Piemērs:

public interface ILogger
{
    void Log(string message); // parasts interfeisa metodes deklarācija

    void LogWarning(string message) // ar noklusējuma realizāciju
    {
        Log("Warning: " + message);
    }
}

Iepriekš interfeisos varēja deklarēt tikai metožu parakstus bez ķermeņa. Tagad ir iespējams rakstīt metodes ķermeni, kas paplašina interfeisu iespējas.