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.