C#将类导入另一个类不起作用

前端之家收集整理的这篇文章主要介绍了C#将类导入另一个类不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我对C#来说很新,并且已经在我的主类中使用了一个类.这两个类是不同的文件,但是当我尝试使用它导入到另一个文件时,cmd说

The type or namespace name “MyClass” could not be found (are you missing a using directive or an assembly reference?

我知道在Java中我必须使用CLASSPATH来处理这样的事情,但是我不知道C#.

额外细节:

正如你可能想到的,我通过命令提示符编译和执行.我正在使用/ target:library(我听说只有主类应该是.exe文件)来编译我的非主类.

我的代码如下所示:

public class MyClass {
    void stuff() {

    }
}

和我的主班:

using System;
using MyClass;

public class MyMainClass {
    static void Main() {
        MyClass test = new MyClass();
        /* Doesn't work */
    }
}

我试图用命名空间MyNamespace {}包含我的非主类,并导入它,但它也不起作用.

解决方法

使用仅用于命名空间 – 如果两个类都在相同的命名空间中,那么只需删除使用.

您编译.exe时,必须参考第一步中创建的程序集:

csc /t:library /out:MyClass.dll MyClass.cs
csc /reference:MyClass.dll /t:exe /out:MyProgram.exe MyMainClass.cs

如果您一起编译文件,可以使事情更简单:

csc /t:exe /out:MyProgram.exe MyMainClass.cs MyClass.cs

要么

csc /t:exe /out:MyProgram.exe *.cs

编辑:
以下是文件的外观:

MyClass.cs:

namespace MyNamespace {
    public class MyClass {
        void stuff() {

        }
    }
}

MyMainClass.cs:

using System;

namespace MyNamespace {
    public class MyMainClass {
        static void Main() {
            MyClass test = new MyClass();
        }
    }
}

猜你在找的C#相关文章