Sobes.tech
Junior — Middle

Μπορεί κανείς να δηλώσει την υλοποίηση μιας μεθόδου απευθείας στον ορισμό μιας διεπαφής;

sobes.tech AI

Απάντηση από AI

Από το C# 8.0 και μετά, στις διεπαφές εισήχθη η δυνατότητα δήλωσης υλοποιήσεων μεθόδων απευθείας στον ορισμό τους — αυτό ονομάζεται "μέθοδοι με προεπιλεγμένη υλοποίηση" (default interface methods). Αυτό επιτρέπει την προσθήκη νέων μεθόδων στις διεπαφές χωρίς να διαταράσσονται οι υπάρχουσες υλοποιήσεις.

Παράδειγμα:

public interface ILogger
{
    void Log(string message); // συνηθισμένη μέθοδος διεπαφής

    void LogWarning(string message) // μέθοδος με προεπιλεγμένη υλοποίηση
    {
        Log("Warning: " + message);
    }
}

Παλαιότερα, στις διεπαφές μπορούσαν να δηλωθούν μόνο υπογραφές μεθόδων χωρίς σώμα. Τώρα, είναι δυνατή η γραφή του σώματος της μεθόδου, κάτι που διευρύνει τις δυνατότητες των διεπαφών.