以私有化方式实现接口中的函数,我是第一次听说,下面就来看看:
首先声明一个接口:
public interface ITest
{
void Test1();
void Test2();
}
接下来,我们再来实现接口
public class Test : ITest
{
public void Test1()
{
Console.WriteLine("Test1");
}
void ITest.Test2()
{
Console.WriteLine("Test2");
}
}
注意:对于Test2方法是以这种方式来满足接口要求的
我们再用客户端验证一下:
class Program
{
static void Main(string[] args)
{
Test tt = new Test();
tt.Test1();
Console.Read();
}
}
但是如果我要调用tt的Test2方法会发现:
实例化的对象已经看不见Test2方法了,那如果我们想调用Test2方法有如何解决呢?我们可以这样做:
static void Main(string[] args)
{
ITest itt = new Test();
itt.Test1();
itt.Test2();
Console.Read();
}
以接口对象的方式声明,产生实际对象,这样就可以看见Test2方法了,运行结果是:
Test1
Test2