默認情況下,接口中的每個成員都是公共的,它必須是這種方式,因爲接口定義了一個特定的原型。然而,一個類或結構可以從多個接口繼承,並且這些接口可能具有相同的方法或屬性。考慮以下幾點:
public interface ITest
{
string Id { get; }
}
public interface ITest1
{
string Id { get; }
}
public class TestSeparately : ITest, ITest1
{
//Why an explicit interface member implementation, don't have modifier
string ITest.Id
{
get { return "ITest"; }
}
string ITest1.Id
{
get { return "ITest1"; }
}
}
現在如果有投類隱式接口和訪問成員的方式,要求財產值Id從TestSeparately,TestSeparately.Id的即返回值是什麼辦法?哪個接口編譯器應該隱式地轉換並返回ID?是ITest.Id還是ITest1.I'd?看到問題所以是的,在顯式實現中沒有修飾符,並且總是需要顯式轉換來確定哪個接口應該作爲目標,正如我所說的,public是唯一的強制訪問修飾符並且不可更改。