我正在编写一个相当大的库,其中包含我自己设计的类或者低级系统类的包装器。
这个例子就像StreamReader或StreamWriter。这个事实是无关紧要的,但是我写了一个包装器,它能够为每个这些创建一个线程并连续读取(例如) - 用于像TcpClient这样的东西。
除了术语和不相关的信息 - 这里的问题是,有没有办法用我自己的继承类“隐藏”系统命名空间的内置成员?
我理解名称空间是如何工作的,并且当我有不明确的引用时我可以引用'Namespace.Subspace.Class',但我想知道是否有任何方法可以自动“更喜欢”我的类而不是系统中的类。 / p>
希望我能够明确地提出我所要求的内容;如果有人在过去问过这个问题,我会再次向你道歉。希望有答案。欢呼声。
答案 0 :(得分:1)
没有办法让你“覆盖”其他程序集中的类。
如果可能,那将是一个糟糕的设计元素恕我直言。如果我想使用你的特殊包装器,我将调用你的特殊包装器的实例,否则我想要我打算调用的类的行为和已知的副作用。
答案 1 :(得分:1)
这似乎很明显,但不包括“使用System.IO”。在文件的顶部,而不是包括“使用MyClasses.MyIOWrapper;”可能有帮助。这样它将使用您的StreamReader等实现而不是系统的实现,除非您明确告诉它使用系统的。