C# 顯式實(shí)現(xiàn)接口成員
也可以由類顯式地實(shí)現(xiàn)接口成員。如果這么做,就只能通過(guò)接口來(lái)訪問(wèn)該成員,不能通過(guò)類來(lái)訪問(wèn)。隱式成員可以通過(guò)類和接口來(lái)訪問(wèn)。
例如,如果類MyClass隱式地實(shí)現(xiàn)接口 IMylnterface的方法DoSomething(),如上所述,則下面的代碼就是有效的:
MyClass myObj = new MyClass();
myObj.DoSomething();
下面的代碼也是有效的:
MyClass myObj = new MyClass();
IMylnterface mylnt = myObj;
mylnt.DoSomething();
另外,如果MyDerivedClass顯式地實(shí)現(xiàn)DoSomethingO,就只能使用后一種技術(shù)。其代碼如下:
public class MyClass : IMylnterface
{
void IMylnterface?DoSomething() {}
public void DoSomethingElse() {}
}
其中DoSomething()是顯式實(shí)現(xiàn)的,而DoSomethingElse()是隱式實(shí)現(xiàn)的。只有后者可以直接通過(guò)MyClass的對(duì)象實(shí)例來(lái)訪問(wèn)。
點(diǎn)擊加載更多評(píng)論>>