类无法被同一项目和名称空间内的其他类和表单识别

问题描述 投票:0回答:1

我有一个公共抽象类员工,其构造函数我想从项目表单中的单击事件中调用。当尝试调用该方法时,我收到一个错误,指出无法找到此类型或名称空间,如果尝试从同一项目和名称空间中的另一个类调用它,我也会收到此错误。

这是我的 Employee 类:

using System;
using andrewWoodsAssignment2;
namespace andrewWoodsAssignment2
{


    abstract class Employee
    {
        string employeeFirstName;
        string employeeLastName;
        string employeeNumber;
        string employeeAddress;

        public Employee(string first, string last, string number, string address)
        {
            employeeFirstName = first;
            employeeLastName = last;
            employeeNumber = number;
            employeeAddress = address;
        }

        public override string ToString()
        {
            return "";
        }

    }

}

这是我试图给老师打电话的表格:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Text;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using andrewWoodsAssignment2;

namespace andrewWoodsAssignment2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Employee e1 = new Employee("f", "f", "f", "f");
        }
    }
}

button1_click 中的行是导致错误的行,我尝试检查命名空间和类名

这是另一个继承了employee类的类,它也无法调用构造函数,甚至似乎无法识别继承:

using System;
using andrewWoodsAssignment2;
namespace andrewWoodsAssignment2
{


    public class ShiftSupervisor : Employee
    {

        double annualSalary;
        double annualBonus;
        int minimumHoursTraining;
        int trainingHoursAttended;

        public ShiftSupervisor(double annualSalary, double annualBonus, int minimumHoursTraining,
            int trainingHoursAttended)
        {
            
            this.annualSalary = annualSalary;
            this.annualBonus = annualBonus;
            this.minimumHoursTraining = minimumHoursTraining;
            this.trainingHoursAttended = trainingHoursAttended;
        }

        public override string ToString()
        {
            return "";
        }

    }
}

这可能是什么原因造成的? 这是我在 Visual Studio 中的文件的屏幕截图

c# visual-studio inheritance constructor abstract-class
1个回答
0
投票

“解决方案项目”下列出的文件不是您项目的一部分。使用拖放将它们移动到您的项目中。

由于代码的其他问题,您仍然会遇到编译器错误,但可见性问题将得到解决。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.