当我将自己的包装器写入所述类时,如何“隐藏”内置类?

时间:2013-11-15 21:12:49

标签: c# class namespaces system

我正在编写一个相当大的库,其中包含我自己设计的类或者低级系统类的包装器。

这个例子就像StreamReader或StreamWriter。这个事实是无关紧要的,但是我写了一个包装器,它能够为每个这些创建一个线程并连续读取(例如) - 用于像TcpClient这样的东西。

除了术语和不相关的信息 - 这里的问题是,有没有办法用我自己的继承类“隐藏”系统命名空间的内置成员?

我理解名称空间是如何工作的,并且当我有不明确的引用时我可以引用'Namespace.Subspace.Class',但我想知道是否有任何方法可以自动“更喜欢”我的类而不是系统中的类。 / p>

希望我能够明确地提出我所要求的内容;如果有人在过去问过这个问题,我会再次向你道歉。希望有答案。欢呼声。

2 个答案:

答案 0 :(得分:1)

没有办法让你“覆盖”其他程序集中的类。

如果可能,那将是一个糟糕的设计元素恕我直言。如果我想使用你的特殊包装器,我将调用你的特殊包装器的实例,否则我想要我打算调用的类的行为和已知的副作用。

答案 1 :(得分:1)

这似乎很明显,但不包括“使用System.IO”。在文件的顶部,而不是包括“使用MyClasses.MyIOWrapper;”可能有帮助。这样它将使用您的StreamReader等实现而不是系统的实现,除非您明确告诉它使用系统的。