1
MSDN:System.Type爲什麼許多基類庫類具有顯式接口實現成員?
與上面的鏈接一樣,C#中的許多BCL類都將Explicit Interface Implementations作爲類成員。
我明白,當基本接口的成員之間存在名稱衝突時,我們必須使用顯式接口實現。但是,爲什麼我們必須在上述情況下使用顯式接口實現?與哪個接口有名稱衝突?
MSDN:System.Type爲什麼許多基類庫類具有顯式接口實現成員?
與上面的鏈接一樣,C#中的許多BCL類都將Explicit Interface Implementations作爲類成員。
我明白,當基本接口的成員之間存在名稱衝突時,我們必須使用顯式接口實現。但是,爲什麼我們必須在上述情況下使用顯式接口實現?與哪個接口有名稱衝突?
接口的顯式實現用於隱藏實例屬性/方法,除非調用代碼明確要求接口。
這是在下列情況下有效:
這些是想到的用例;我確定還有其他人沒有列出。
謝謝你的解釋。 – LaysomeSmith 2012-07-11 16:30:44
你的標題抱怨說只有少數BCL類使用明確的接口實現,但你的問題主體是說很多BCL類都有它。這是什麼? – Oded 2012-07-10 21:03:24
Type類是特殊的。提到這些是因爲它們對COM來說很重要。 _Type和_MemberInfo接口是[ComVisible]並且對於自定義CLR託管非常重要。在COM中隱藏方法實現是正常的。 AppDomain是另一個例子。 – 2012-07-10 21:56:22