C# 显示对象名称,并添加到列表中
我有一个实现抽象类的基类。我是 抽象类C# 显示对象名称,并添加到列表中,c#,C#,我有一个实现抽象类的基类。我是 抽象类 public abstract class Employee { public string Id { get; set; } public abstract void Talk(); public abstract void Run(); } 基类 public class SalesPerson : Employee { public override void
public abstract class Employee
{
public string Id { get; set; }
public abstract void Talk();
public abstract void Run();
}
基类
public class SalesPerson : Employee
{
public override void Talk()
{
Console.WriteLine("Talking to Customers");
}
public override void Run()
{
Console.WriteLine("Running after sales");
}
}
方法调用此
public void Enter(object employee)
{
List<Employee>ShopEmployee= new List<Employee>();
Console.WriteLine($"{ShopEmployee} has entered the shope");
}
由于雇员作为
对象传递
,因此首先需要将参数强制转换为雇员
。你可以用它来解决这个问题。现在,您可以将员工添加到列表并打印其ID:
private readonly List<Employee> shopEmployee = new List<Employee>();
public void Enter(object employee)
{
if (employee is Employee e)
{
shopEmployee.Add(e);
Console.WriteLine($"{e.Id} has entered the shop");
}
}
private readonly List shopEmployee=new List();
公共作废输入(对象员工)
{
如果(雇员是雇员e)
{
添加(e);
Console.WriteLine($“{e.Id}已进入商店”);
}
}
为什么选择对象employee
参数?(还有为什么不Employee
type)我也不明白你的问题,你想用Enter
方法将Employee
添加到列表中吗?你的问题是什么?因为Employee是抽象的,你只能在员工列表中添加salesperson类型的对象。
private readonly List<Employee> shopEmployee = new List<Employee>();
public void Enter(object employee)
{
if (employee is Employee e)
{
shopEmployee.Add(e);
Console.WriteLine($"{e.Id} has entered the shop");
}
}