C# 顯式實(shí)現(xiàn)接口成員
也可以由類顯式地實(shí)現(xià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)的。只有后者可以直接通過MyClass的對象實(shí)例來訪問。
點(diǎn)擊加載更多評論>>