首页 > 解决方案 > 即使我只是在初始化,为什么会出现此错误?

问题描述

尽管这是程序的开始并且我只是在初始化,但我一直收到此代码块的此错误。这些错误是什么意思?

代码:

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 指令或程序集引用?)

标签: c#compiler-errors

解决方案


假设您有一个名为的Console程序。您在此命名空间内声明 a 。然后你有第二个命名空间,named ,在那里你有另一个类,named ,。namespaceFirstNamespaceClassASecondNamespaceClassB

现在,从内部FirstNamespace,如果您创建 的对象实例ClassA,那就没问题了,因为创建对象的ClassA和调用(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
    {

    }
}

在这里,实例化的行classB给了我以下错误:

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

为了解决这个问题,我必须在命名空间声明之外包含对SecondNamespaceusing指令的引用:using

using SecondNamespace;

namespace FirstNamespace
{
    ...

现在FirstNamespace知道SecondNamespace, 并且ClassB对它可见。


推荐阅读