加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:55:59 所属栏目:百科 来源:网络整理
导读:我对C#来说很新,并且已经在我的主类中使用了一个类.这两个类是不同的文件,但是当我尝试使用它导入到另一个文件时,cmd说 The type or namespace name “MyClass” could not be found (are you missing a using directive or an assembly reference? 我知道在
我对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();
        }
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读