• 关于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();
    }

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

  • 相关阅读:
    linux 短信收发
    sama5d3 环境检测 adc测试
    【Codeforces 723C】Polycarp at the Radio 贪心
    【Codeforces 723B】Text Document Analysis 模拟
    【USACO 2.2】Preface Numbering (找规律)
    【Codeforces 722C】Destroying Array (数据结构、set)
    【USACO 2.1】Hamming Codes
    【USACO 2.1】Healthy Holsteins
    【USACO 2.1】Sorting A Three-Valued Sequence
    【USACO 2.1】Ordered Fractions
  • 原文地址:https://www.cnblogs.com/bruce1992/p/15085913.html
Copyright © 2020-2023  润新知