Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 显示对象名称,并添加到列表中_C# - Fatal编程技术网

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");
    }
}