zoukankan      html  css  js  c++  java
  • 关于c#:如何在不同的命名空间中处理相同的类名?

    How to handle same class name in different namespaces?

    我正在尝试创建一个通用的库结构。 我通过为我想要的每个公共库创建单独的项目来做到这一点

    我有以下2个命名空间:MyCompany.ERP和MyCompany.Barcode

    我需要他们两个都有一个名为" Utilities"的类并且是静态的。 如果这样做,我将需要在我的静态类之前指定完整的名称空间名称,以便对其进行访问。

    还有其他首选的方式吗?

    或者我应该在BarcodeUtils和ERPUtils等类中使用不同的名称?


    If i do that i will then need to specify the full namespace name before my static class in order to access it?

    不,虽然细节取决于将使用这些类型的类及其具有的using声明,但不需要这样做。

    如果仅使用类中的名称空间之一,则不会有歧义,您可以继续使用该类型。

    如果同时使用两个名称空间,则要么必须完全限定使用范围,要么使用名称空间/类型别名来消除类型的歧义。

    1
    2
    3
    4
    5
    6
    7
    8
    using ERPUtils = MyCompany.ERP.Utilities;
    using BCUtils = MyCompany.Barcode.Utilities;

    public void MyMethod()
    {
      var a = ERPUtils.Method();
      var b = BCUtils.Method();
    }

    没有其他办法了。您可以在using指令中创建别名:

    1
    2
    3
    4
    5
    6
    7
    8
    using MC=MyCompany.ERP;
    using MB=MyCompany.Barcode;
    ...
    public void Test()
    {
      var a = MC.Utilities.Method();
      var b = MB.Utilities.Method();
    }

    这是管理它们的最简单方法。

  • 相关阅读:
    thinkphp中插入ueditor编辑器的代码
    编辑器
    php中上传图片,原生代码
    thinkphp中上传图片以及制成缩略图
    https://www.oschina.net/project/lang/19/java
    js中各种弹窗
    MYSQL数据库中中文乱码问题
    关于对CSS中超链接那部分的设置
    Collectors.groupingBy应用
    定时器算法
  • 原文地址:https://www.cnblogs.com/bruce1992/p/15085913.html
Copyright © 2011-2022 走看看