2011-05-18 86 views

回答

28

由於接口是原油術語「爲了外面的世界」,由於它是在外面的世界,沒有一點使得它的成員保護或私人。

或換句話說,它是一個合同與外部世界,它指定實現這個接口的類做一些事情。所以,隱藏它的一部分是沒有意義的。

但是,接口本身可以具有訪問說明符,如protectedinternal等。因此將「外部世界」限制爲「整個外部世界」的子集。

+1

如果你想讓一個公共類實現一個內部接口,但是隻在內部暴露該接口的成員,而公開公開它的一些非接口成員,那該怎麼辦?我想知道爲什麼微軟會禁止這樣做。 – Panzercrisis 2016-05-05 20:34:50

5

接口成員總是公用的,因爲接口的目的是使其他類型能夠訪問類或結構。接口成員不能使用訪問修飾符。

4

所有的接口方法都是Public。您不能在界面中創建訪問修飾符。如果你想使用它,使用Abstract類。

0

接口是編碼契約,這就是它不允許任何訪問修飾符的原因,其他公有方法簽名。 但是一個接口本身可以是內部的但不是私有的或保護的,內部允許在組件內訪問,這是完全正確的。

2

這是由於接口的性質。根據定義,接口是一個規範。 .NET規範中的規則規定,實現接口的類必須實現該接口的所有成員。 現在,如果我們將成員標記爲私有成員,那麼實現類不能實現該成員。

相關問題