CS0426 类型名称 ' ' 中不存在类型名称 ' '

CS0426 The type name ' ' does not exist in the type ' '

提问人:Ionut 提问时间:11/8/2019 最后编辑:Ionut 更新时间:11/8/2019 访问量:6385

问:

我有一个包含此代码的文件:

namespace A
{
    public enum DT
    {
        Byte = 0,
        SByte = 1,
        BCD8 = 2,
        Int16 = 3,
        UInt16 = 4,
        BCD16 = 5,
        Int32 = 6,
        UInt32 = 7,
        BCD32 = 8,
        Single = 9,
        String = 10,
        Structure = 11,
        WString = 12
    }
}

在我的 WebForm1.aspx.cs 文件中,我想使用上面代码中的元素。我的 WebForm1.aspx.cs 如下所示:

using A;
namespace SComm
{
    public partial class WebForm1 : System.Web.UI.Page
    {
      protected void Page_Load(object sender, EventArgs e)
        {
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
           A.DT tData = new A.DT.Int16;
           //some other code
        }
    }
}

我收到错误 CS0426:

“类型 Int16 在类型 DT 中不存在”

我想是因为不同的命名空间。我应该怎么做才能解决此错误?

C# asp.net 命名空间

评论

3赞 Matthew Watson 11/8/2019
应该是我想的。DT tData = DT.Int16;
0赞 Ionut 11/8/2019
代码的 2 部分位于两个不同的文件中,具有不同的命名空间。键入 DT tData 时无法识别 DT...
0赞 xdtTransform 11/8/2019
这回答了你的问题吗?枚举的 C# 显式初始化
0赞 xdtTransform 11/8/2019
learn.microsoft.com/en-us/dotnet/csharp/programming-guide/......learn.microsoft.com/en-us/dotnet/csharp/language-reference/......
0赞 Ionut 11/8/2019
第一个 Microsoft 链接中的第一个示例看起来与我想要的相似。 但是当我尝试使用时,我收到上述错误Day today = Day.Monday; int dayNumber =(int)today;Monday

答:

1赞 Tim Rutter 11/8/2019 #1

在原来的帖子中,您声明了一个 A 类型的变量,但 A 是一个命名空间,并且还使用 new 来创建一个不正确的枚举。对于新的,它正在寻找类型“Int16”中的类型 A.DT 显然不存在。它是这样的

A.DT tData = A.DT.Int16; 

评论

0赞 Tim Rutter 11/8/2019
那么,如果以上内容不能回答您的问题,那么问题是什么?
0赞 Ionut 11/8/2019
我明白你说的。那我怎么能从枚举中得到呢?Int16
0赞 Tim Rutter 11/8/2019
正如我在上面写的。请注意,它在 A.DT 之前没有“new”。国际16
0赞 Ionut 11/8/2019
所以,我的代码是:,但我得到错误。A.DT tData=A.DT.Int16CS0426 The type name ' ' does not exist in the type ' '
1赞 Tim Rutter 11/8/2019
它不在您的问题中,您在 A.DT 之前有一个新的。Int16.你是说你从字面上得到上面的错误,类型名称 ' ' 等,即空的 '' 集