Dav*_*vid 1 .net c# namespaces
我有2个组件Combres和log4net
两个程序集都包含相同的log4net.Appender命名空间(包括内部代码) - 我需要继承log4net.Appender.AdoNetAppender.
我该如何做到这一点.
您可以为其中一个命名空间指定别名,如下所示:
using MyNameSpace = log4net.Appender;
Run Code Online (Sandbox Code Playgroud)
然后继承MyNameSpace.AdoNetAppender
完全符合类型.例如,如果您尝试从此类继承:
class MyAppender : log4net.Appender.AdoNetAppender
Run Code Online (Sandbox Code Playgroud)
如果您尝试使用/创建此类的实例:
var appender = log4net.Appender.AdoNetAppender;
Run Code Online (Sandbox Code Playgroud)
如果Combres且log4net两者都包含命名空间中的类型AdoNetAppender,log4net.Appender那么您就会遇到更多麻烦(并且有人犯了错误 - 命名空间旨在避免这些类型的冲突).
如果确实发生了这种情况,那么您可以使用程序集引用"Aliases"属性来解决冲突,如程序集引用的Aliases属性的用法所述.