.Net 中显式实现接口

一个显式实现的小例子

public interface ISay
    {
        void CanSay();
    }
    public class Man : ISay
    {
        /// 显式实现接口
        void ISay.CanSay()
        {
            Console.WriteLine("New:I can say!");
        }
        public void CanSay()
        {
            Console.WriteLine("Old:I can say!");
        }
    }
    public class Student : Man
    {
        public Student()
        {
            // 显式实现接口方法子类中不能调用 
            this.CanSay();
        }
    }

调用:

     // 显式实现接口方法必须通过接口调用 
            ISay man=new Man();
            ISay stu = new Student();
            // 非显式实现接口方法调用 
            stu.CanSay();
            Console.ReadKey();

  一般来说,需要显式实现接口方法的原因是类型中已经有一个方法,该方法与接口方法的名字和参数相同。除此之外,很少有理由需要显式实现接口方法。

posted on 2011-10-18 19:54  上善若水123  阅读(237)  评论(0编辑  收藏  举报