這是故事。我創建了一個界面IVehicle
。我明確實施了我的課程中的界面Vehicle.cs
。爲什麼我不能在明確實現接口的類中調用方法?
這裏是我的接口:
Interface IVehicle
{
int getWheel();
}
這裏是我的類:
class Vehicle: IVehicle
{
public int IVehicle.getWheel()
{
return wheel;
}
public void printWheel()
{
Console.WriteLine(getWheel());
}
}
注意getWheel()
明確實施。現在,當我嘗試在我的Vehicle類中嘗試調用該方法時,我收到一個錯誤,指出getWheel()
在當前上下文中不存在。有人能幫助我瞭解我做錯了什麼嗎?
作爲一個Java的人接口類型
然後調用成員,我很奇怪,爲什麼這個令人費解的事情存在?爲什麼會有人想要上述存在,它獲得了什麼優勢? – 2010-03-26 02:11:52
在明確實施的成員上指定可見性修飾符是語法錯誤。一旦您的對象已被轉換爲您的界面類型,該成員始終可以訪問。 – Trillian 2010-03-26 02:14:32
@mP如果您正在使用通用成員實現多個接口,則這允許您爲每個接口提供不同的定義。它還增加了清理智能感知,因爲顯式成員不可見或不可用,除非您投射到適當的界面。 – 2010-12-21 18:27:33