2016-08-05 99 views
0

我无法在我的项目中的其他文件夹中实例化类,即使它们具有相同的名称空间。公共类无法在同一命名空间中访问

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

namespace MyNameSpace 
{ 
    public class MySecondClass {} 
} 

如果我将鼠标悬停我的鼠标移到“MyClass的”可变我得到的消息:

类型或命名空间名称“MyClass的”找不到(你 缺少using指令或一个装配参考?)

我想不通这是行不通的。我被困了好几个小时。

+1

调用成员而不是'class'吗?这是C#中的一个关键字,用它作为类的成员*似乎引起混淆。 – David

+0

'class'是一个保留字。使用其他名称。 – Rahul

+0

我实际上没有使用“class”这个词对不起,我应该在我的伪代码中更加小心。 – maximus009

回答

1

classreserved keyword。只需重命名变量

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

namespace MyNameSpace 
{ 
    public class MySecondClass 
    { 

    } 
} 
+0

不客气:)。正确的命名法总是有帮助的。 –

+0

@DavidL - 你是对的 - 这是如何学习:) –

+0

我实际上没有使用“class”这个词对不起,我应该更加小心我的伪代码。 – maximus009

0

事实上,如果您愿意,您可以给出一个变量名,该变量名也是保留关键字。

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

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

namespace MyNameSpace 
{ 
    public class MySecondClass {} 
} 
+0

我实际上并没有为我的变量使用“class”这个词,对不起,我应该更加小心我的伪代码。 – maximus009