代码之家  ›  专栏  ›  技术社区  ›  Viv

命名空间和类冲突

  •  6
  • Viv  · 技术社区  · 14 年前

    我遇到了一个问题,DateTime类和一个名称空间之间存在冲突,原因未知,名称空间也被称为DateTime。

    装配 具有命名空间 公司日期时间

    我的应用程序位于命名空间中: 单位

    问题是每次我需要使用 日期时间 系统日期时间

    可以这么说 一些随机的东西=公司日期时间 并拥有 日期时间 永远是 系统日期时间

    注:

    1. 部署通过生成服务器进行

    可能的解决方案? 公司日期 要自动部署到输出文件夹而不将其添加到引用中吗?

    4 回复  |  直到 14 年前
        1
  •  10
  •   Jagmag    14 年前

    问题:

    using CompanyDateTime = Company.DateTime;

    using StandardDateTime = System.DateTime;

    问题:

    答:将此dll放入应用程序根文件夹,并创建一个postbuild事件,将其复制到输出文件夹。您可以在这里使用常规的DOS COPY命令。

    Refer link for postbuild event details

        2
  •  8
  •   Steve Danner    14 年前

    是的,在引用它的代码文件顶部使用using指令。

    using SomeRandomStuff = Company.DateTime;
    

    编辑

    using DateTime = System.DateTime;
    
        3
  •  4
  •   Mark H    14 年前

    为程序集指定一个别名(默认值为 global ,将您的设置为其他内容)。当您选择引用时,可以在visualstudio的属性窗口中设置,如果您手动编译,则可以使用compile开关。编译器将只解析全局别名中的内容,除非在代码文件的顶部指定外部别名( extern alias myalias ).

    注意,这与其他人提到的名称空间别名不同。有了它,你就可以简单地使用 DateTime 参考系统日期时间,而不是使用其他名称。如果以后需要引用另一个,则需要指定 myalias::Company.DateTime...

        4
  •  2
  •   Ryan Hayes    14 年前

    使用 alias .

    如果你想用系统日期时间不必使用系统,然后尝试:

    using SysDate = System.DateTime;

    SysDate mySystemDotDateTime = new SysDate();