如果一个类实现了一个接口,他可以选择显示实现这个接口
如果显示实现了接口的话,要调用接口的方法,就必须将类型转换为接口去调用,如果要使用类的实例去调用,就必须为类实现该接口函数。
例如:
interface IShowMessage
{
void ShowMsg(string msg);
}
class Test : ShowMessage
{
IShowMessage.ShowMsg(string msg)
{
Console.WriteLine(string.Format("IShowMessage.ShowMsg({0})", msg));
}
}
public class Program
{
public static void Main(params object [] values)
{
Test t = new Test();
t.ShowMsg("123"); //编译报错,没有为该类提供ShowMsg函数
IShowMessage iSm = t as IShowMessage;
if(iSm != null)
iSm.ShowMsg("345"); //调用接口的ShowMsg函数
}
}