无论相同的命名空间如何,公共类都不可访问

时间:2016-08-05 18:46:35

标签: c# asp.net webforms

我无法在项目的另一个文件夹中实例化一个类,即使它们具有相同的命名空间。

namespace MyNameSpace
{
      public class MyFirstClass
      {
           MySecondClass myClass = new MySecondClass();
      }
}

namespace MyNameSpace
{
     public class MySecondClass {}
}

如果我将鼠标悬停在“myClass”变量上,我会收到消息:

  

无法找到类型或命名空间名称'myClass'(是吗?   缺少using指令或程序集引用?)

我无法弄清楚为什么这不起作用。我被困了几个小时。

2 个答案:

答案 0 :(得分:1)

classreserved keyword。只需重命名变量

namespace MyNameSpace
{
      public class MyFirstClass
      {
           MySecondClass instance = new MySecondClass();
      }
}

namespace MyNameSpace
{
   public class MySecondClass
   {

   }
}

答案 1 :(得分:0)

事实上,如果您愿意,可以提供一个也是保留关键字的变量名称。

只需在变量名称前添加@,这将告诉编译器忽略它也是一个关键字并将其视为变量。

namespace MyNameSpace
{
      public class MyFirstClass
      {
           MySecondClass @class = new MySecondClass();
      }
}

namespace MyNameSpace
{
     public class MySecondClass {}
}