无法在新的C#项目中利用现有的Class?

时间:2018-10-15 04:02:35

标签: c#

我是一个主要学习C ++的学生,但是这个学期我们必须使用C#编写数学作业。

我们的教授提供了一个基本的骨架程序,但我不太擅长C#。他给了我们两个类文件(.cs),但是当我将它们添加到项目中时,我根本无法使用它们。我不能从任何一个类创建一个类对象。

这些类仅是Line3d和Point3d。它们具有计算点和碰撞所需的变量。

谢谢您的建议。

3 个答案:

答案 0 :(得分:2)

编译项目。

使用Ctrl + .或灯泡图标(键入您要使用的类名并在该类名上定位光标位置)来解析这些类的名称空间或编写using directive手动。 enter image description here

答案 1 :(得分:0)

C#类通常封装在名称空间中。在Visual Studio中,添加新类将生成一个文件,该文件包含类似于PROJECT_NAME.SUBFOLDER.SUBSUBFOLDER的命名空间,例如:

// MyClass.cs
using System;

namespace MyProject
{
    public class MyClass
    {
    }
}

然后您可以从同一命名空间中的另一个类引用它,但不能从另一个命名空间中的类引用它(除非它是一个以MyProject.开头的命名空间)。

// Line3d.cs
using System;

namespace TemplateProject
{
    public class Line3d 
    {

    }
}

// MyClass.cs
using System;

namespace MyProject
{
    public class MyClass
    {
        public Line3d LineInstance {get;set;}
    }
}

在此示例中,它将不起作用,因为编译器不知道Line3d存在于哪个命名空间中(实际上,两个名称完全相同的类可能存在于两个不同的命名空间中)。您需要指示编译器包括TemplateProject名称空间中的类(请注意,TemplateProject.ChildNamespace名称空间中不包括类)

// MyClass.cs
using System;
using TemplateProject;

namespace MyProject
{
    public class MyClass
    {
        public Line3d LineInstance {get;set;}
    }
}

现在,您应该可以找到Line3d类并使用它。

除了手动引用名称空间外,还可以右键单击未知的类引用,选择“快速操作和重构...”,然后会看到类似“正在使用TemplateProject;”的内容。单击此按钮,它将自动为您添加using

如果您不想使用鼠标,也可以使用Ctrl + .键盘快捷键,该快捷键与右键单击/快速操作相同。

答案 2 :(得分:-2)

选择您的项目,然后按[Shift + Alt + A]添加现有文件。

您会看到对话框窗体,该对话框允许在项目上打开CS文件。

之后,您可以使用教授的课程文件。