Avatar ·

C# में इंटरफेस की अप्रत्यक्ष और प्रत्यक्ष इम्प्लीमेंटेशन: कब और किसका उपयोग करें?

सभी को नमस्ते! मैंने अभी C# सीखना शुरू किया है और इंटरफेस के विषय पर आया हूँ। सब कुछ समझ में आता है: इंटरफेस एक कॉन्ट्रैक्ट है, क्लास इसे इम्प्लीमेंट करता है। लेकिन यहाँ मैंने देखा कि इंटरफेस को दो तरीकों से इम्प्लीमेंट किया जा सकता है: अप्रत्यक्ष (implicit) और प्रत्यक्ष (explicit)। और मैं उलझ गया। यहाँ एक उदाहरण है:
public interface IWorker
{
    void Work();
}

public class Employee : IWorker
{
    // अप्रत्यक्ष इम्प्लीमेंटेशन
    public void Work()
    {
        Console.WriteLine("Employee works");
    }
}
सब काम करता है। लेकिन मैंने पढ़ा कि इसे इस तरह भी किया जा सकता है:
public class Manager : IWorker
{
    // प्रत्यक्ष इम्प्लीमेंटेशन
    void IWorker.Work()
    {
        Console.WriteLine("Manager works");
    }
}
और अब, अगर मैं लिखूं:
Manager m = new Manager();
m.Wor