Avatar ·

Implizite und explizite Implementierung von Interfaces in C#: Wann und welche verwenden?

Hallo zusammen! Ich habe gerade angefangen, C# zu lernen und bin auf das Thema Interfaces gestoßen. Es schien alles klar zu sein: Ein Interface ist ein Vertrag, die Klasse implementiert ihn. Aber dann habe ich gesehen, dass Interfaces auf zwei Arten implementiert werden können: implizit (implicit) und explizit (explicit). Und ich bin verwirrt.\n\nHier ist ein Beispiel:\n
public interface IWorker\n{\n    void Work();\n}\n\npublic class Employee : IWorker\n{\n    // Implizite Implementierung\n    public void Work()\n    {\n        Console.WriteLine("Employee works");\n    }\n}
\nDas funktioniert alles. Aber ich habe gelesen, dass man es auch so machen kann:\n
public class Manager : IWorker\n{\n    // Explizite Implementierung\n    void IWorker.Work()\n    {\n        Console.WriteLine("Manager works");\n    }\n}
\nUnd jetzt, wenn ich schreibe:\n
Manager m = new Manager();\nm.Wor