c# - 编译器提示缺少命名空间,该命名空间是类的名称

标签 c# enums namespaces

我有以下几点:

// Generator.cs
namespace MRP
{
    public class Generator
    {
        public enum ModeGeneration
        {
            ByRequest,
            ByCommit
        }
    }
}

// CustomerOrderWrapper.cs
namespace MRP
{
    class CustomerOrderWrapper
    {
        readonly ModeGeneration _mode;
    }
}

为什么我收到无法找到命名空间名称“ModeGeneration”的错误。这两个类都在 MRP 命名空间下,为什么编译器提示“ModeGeneration”命名空间?

最佳答案

再次阅读错误消息。它应该说“找不到类或命名空间 ModeGeneration”,这是正确的,没有名为 ModeGeneration 的类/命名空间。 , 也许你想要 Generator.ModeGeneration ?

作为内部类,Generator.ModeGeneration是整个类型名,并且不能省略外部类名,因为您可以在 C# 中定义几个同名的内部类,如下所示:

namespace Foo
{
    class One
    {
        public class Bar { }
    }

    class Another
    {
        public class Bar { }
    }
}

你可以看到Bar是模棱两可的。您应该使用 One.BarAnother.Bar反而。

关于c# - 编译器提示缺少命名空间,该命名空间是类的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44559693/

相关文章:

asp.net - 部署后更改 asp.net Web 服务命名空间

c# - 从用户定义的表更新多个表

c# - 按顺序合并两个或多个列表

c# - 调试 C# 自定义安装程序类

swift - 不确定在 swift 中使用什么数据类型

Python 枚举 : substitute `element` with `element.value`

java - 在Spring Boot应用程序中从Enums动态创建列

c++ - 为什么没有找到 operator<< 重载?

c# 不一致的可访问性阻止私有(private)类作为 protected 方法的参数

C# 动态加载/卸载 DLL Redux(当然使用 AppDomain)