10
A
回答
22
你不會,你不能。
如果您想將類別公開爲public
,則基類型必須爲爲public
。另一種選擇是使用public interface
,並且只通過interface
(大概是用於創建實例的工廠方法)公開該類型。
最後一個選項是封裝而不是繼承它的基類。
1
只是爲了澄清我在@Marc礫石的答覆意見是說你可以
public ChildClass : ParentClass
{
}
public ParentClass
{
internal void MethodIdontWantToExpose()
{
}
}
也就是說一個interface
可能是最好的解決方案
9
讓它public
,使所有構造函數internal
(如果使用默認構造函數,請添加無參數構造函數來覆蓋該構造函數)。
然後,雖然公開和不密封,它不能被外部代碼分類。
相關問題
- 1. 不一致的可訪問性:基類不易被子類訪問
- 2. C#可訪問性不一致(多類)
- 3. 「不一致的可訪問性:基類比類更難以訪問」
- 4. 不一致的可訪問性:參數類型不易訪問
- 5. 可訪問性不一致:基類是比子
- 6. 可訪問性不一致:基類(接口)比子類不太容易接近
- 7. 不一致的可訪問性:類中的屬性類型比接口中的屬性類型不易訪問
- 8. 可訪問性不一致
- 9. 可訪問性不一致
- 10. 不一致的可訪問性:屬性類型
- 11. 不一致的可訪問性,屬性類型
- 12. 可訪問性不一致:參數類型不是方法
- 13. 不一致性可訪問性:參數類型
- 14. 不一致的可訪問性:字段類型比字段不易訪問
- 15. 類定義中的「不一致的可訪問性」
- 16. 可訪問性不一致的問題
- 17. 可訪問性不一致的問題
- 18. 可訪問性不一致:參數類型一般c#界面
- 19. 不一致的可訪問性;參數類型比方法
- 20. C#中字段類型的不一致可訪問性
- 21. 儘管類公衆不一致的可訪問性
- 22. 不一致的可訪問性:字段類型'FashionWorldApp.Domain.Abstract.IOrderProcessor'比字段'
- 23. 可訪問性不一致申請類型system.collections.generic.list
- 24. 在C#可訪問性不一致錯誤不能調用基
- 25. 不一致的可訪問性
- 26. C#不一致的可訪問性
- 27. 字典不一致的可訪問性
- 28. 不一致的可訪問性C#
- 29. 可訪問性不一致:在的DbContext
- 30. 錯誤不一致的可訪問性
或者要保護的基類上的所有方法/屬性?但班級本身要公開? – Liam
@李安,這取決於你想要保護的東西;例如,如果有人能夠*子類化它,那麼他們就可以訪問這些方法。 –
是真的,會內部工作嗎?不確定? – Liam