Sobes.tech
Junior — Middle

Ar galima tiesiogiai deklaruoti metodo įgyvendinimą interfeiso apibrėžime?

sobes.tech AI

Atsakymas iš AI

Nuo C# 8.0, interfeisuose atsirado galimybė tiesiogiai jų apibrėžime deklaruoti metodų įgyvendinimus — tai vadinama "numatytaisiais interfeiso metodais" (default interface methods). Tai leidžia pridėti naujus metodus prie interfeisų be esamų įgyvendinimų pažeidimo.

Pavyzdys:

public interface ILogger
{
    void Log(string message); // įprastas interfeiso metodas

    void LogWarning(string message) // metodas su numatytu įgyvendinimu
    {
        Log("Warning: " + message);
    }
}

Anksčiau interfeisuose galėjo būti deklaruojamos tik metodų parašai be kūno. Dabar galima rašyti metodo kūną, kas plečia interfeisų galimybes.