为什么我只是在初始化就出现此错误?

时间:2019-08-13 21:02:27

标签: c# compiler-errors

即使这是程序的开始,并且我只是在初始化,我仍然在此代码块中收到此错误。这些错误是什么意思?

代码:

public delegate void ProgressHandler(object myObject, CompareFilesUtilityEventArgs myArgs);
private ProfileClass _profile = new ProfileClass();
private FileClass _ComparisonFileOne = new FileClass();
private FileClass _ComparisonFileTwo = new FileClass();

错误:

  

找不到类型或名称空间名称'ProfileClass'(您是   缺少using指令或程序集引用?)

     

找不到类型或名称空间名称'FileClass'(您是   缺少using指令或程序集引用?)

     

类型或名称空间名称“ CompareFilesUtilityEventArgs”不能为   找到(您是否缺少using指令或程序集引用?)

1 个答案:

答案 0 :(得分:0)

假设您有一个Console程序,其中namespace被命名为FirstNamespace。您在此命名空间内声明一个ClassA。然后,您有另一个名为SecondNamespace的命名空间,并且在其中有另一个名为ClassB的类。

现在,从FirstNamespace内部,如果您创建ClassA的对象实例,就可以了,因为ClassA和创建对象的调用({下例中的{1}}类位于同一名称空间中。但是,如果您尝试创建Program的实例,则编译器会抱怨,因为它不知道ClassB在另一个命名空间中。

ClassB

在这里,实例化namespace FirstNamespace { class Program { static void Main() { ClassA classA = new ClassA(); ClassB classB = new ClassB(); Console.ReadLine(); } } public class ClassA { } } namespace SecondNamespace { public class ClassB { } } 的行给了我以下错误:

  

CS0246 C#找不到类型或名称空间名称(您是   缺少using指令或程序集引用?)

要解决此问题,我必须在命名空间限制之外使用classB指令包含对SecondNamespace的引用:

using

现在using SecondNamespace; namespace FirstNamespace { ... 知道FirstNamespace,并且SecondNamespace对其可见。