Хорошо, поэтому я пытаюсь создать массив классов. Мой класс TEAMLEADER получен из абстрактного класса Employee. Однако, когда я пытаюсь создать экземпляр TEAMLEADER в Main, я получаю сообщение об ошибке, указывающее, что TEAMLEADER не может быть найден.Я не могу создать экземпляр класса C#
namespace Lab3
{
public abstract class Employee
{
protected string EmployeeName;
protected int EmployeeNumber;
protected double WeeklySalary;
public Employee (string EmployeeName, int EmployeeNumber, double WeeklySalary)
{
this.EmployeeName = EmployeeName;
this.EmployeeNumber = EmployeeNumber;
this.WeeklySalary = WeeklySalary;
}
public Employee(string EmployeeName)
{
assignID(EmployeeNumber);
}
public override string ToString()
{
return EmployeeName + " " + EmployeeNumber + " " + WeeklySalary;
}
protected virtual double CalcSalary()
{
return CalcSalary();
}//"Virtual" is a keyword that says, "This can be overriden in the derived class."
private static int assignID(int EmployeeNumber)
{
EmployeeNumber.ToString();
EmployeeNumber++;
return EmployeeNumber;
}
}
class Program
{
static void Main(string[] args)
{
Employee[] workerarray = new Employee[4];
workerarray[0] = new TeamLeader("Rachel", 18, 1000000.00, 52000000.00, true);
}
}
}
В отдельном классе/tab находится класс TEAMLEADER.
public class TeamLeader:Employee
{
protected double AnnualSalary;
protected bool WeeklyGoal;
public override void CalcSalary()
{
if (WeeklyGoal == true)
{ CalcSalary = (AnnualSalary/52) * 1.10; }
else (CalcSalary = AnnualSalary/52);
}
public TeamLeader(string EmployeeName, int EmployeeNumber, double WeeklySalary, double AnnualSalary, bool WeeklyGoal):base(EmployeeName, EmployeeNumber, WeeklySalary)
{
this.WeeklyGoal = WeeklyGoal;
this.AnnualSalary = AnnualSalary;
}
}
Проблема в моем основном методе. Я не понимаю, почему я не могу создать экземпляр TeamLeader. Это не абстрактный класс, поэтому Main не должен распознавать его и создавать экземпляр?
Является ли оно в том же пространстве имен? Кажется, вам не хватает этой части кода. –
Он находится в том же пространстве имен (или он должен быть), но на другой вкладке. –
Можете ли вы опубликовать весь файл teamleader? Если вы используете Visual Studio, поместите курсор сразу после r в TeamLeader (в Main) и нажмите control. (контроль - (период). Студия Viusal должна дать вам предложение. –