簡體   English   中英

當我將自己的包裝器寫入所述類時,如何“隱藏”內置類?

[英]How can I 'hide' built in classes when I have written my own wrappers to said classes?

我正在編寫一個相當大的庫,其中包含我自己設計的類或者低級系統類的包裝器。

這個例子就像StreamReader或StreamWriter。 這個事實是無關緊要的,但我寫了一個包裝器,它能夠為每個這些創建一個線程並連續讀取(例如) - 用於類似TcpClient的東西。

拋開術語和不相關的信息 - 這里的問題是,有沒有辦法用我自己的繼承類“隱藏”系統命名空間的內置成員?

我理解命名空間是如何工作的,並且當我有不明確的引用時我可以引用'Namespace.Subspace.Class',但我想知道是否有任何方法可以自動“更喜歡”我的類而不是系統中的類。

希望我已經明確表達了我的要求; 如果有人在過去問過這個問題,我會再次向你道歉。 希望有答案。 干杯。

沒有辦法讓你“覆蓋”其他程序集中的類。

如果你能,它將是一個糟糕的設計元素恕我直言。 如果我想使用你的特殊包裝器,我將調用你的特殊包裝器的實例,否則我想要我打算調用的類的行為和已知的副作用。

這似乎很明顯,但不包括“使用System.IO”; 在文件的頂部,而不是包括“使用MyClasses.MyIOWrapper;” 可能有幫助。 這樣它將使用您的StreamReader等實現而不是系統的實現,除非您明確告訴它使用系統的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM