代码改变世界

显式接口实现

2017-06-04 17:32  Dirichlet  阅读(243)  评论(0编辑  收藏  举报

一个类实现的多个接口里面有相同函数,而多个接口里的相同签名函数确实需要不同的实现,此情况下可以用显示接口避免。

两点注意:需要加接口名限定前缀,不需要加public修饰符,因为显式接口成员只能通过接口来使用,不能通过对象引用使用,所以有时是public,有时是private,不需要加public修饰符。

    interface IInterface
    {
        int Test(string name);
    }

    interface IInterface2
    {
        int Test(string name);
    }

    class MyClass : IInterface, IInterface2
    {
        int IInterface.Test(string name)
        {
            Console.WriteLine("int IInterface.Test(string name)");

            return 1;
        }

        int IInterface2.Test(string name)
        {
            Console.WriteLine("int IInterface2.Test(string name)");

            return 1;
        }
    }