关于自动实现的属性的问题C#

yon*_*236 1 c# refactoring

我有这个代码:

void Main()
{
    List<Employee> employeeList;

    employeeList = new List<Employee>
    {
        {new Employee("000001", "DELA CRUZ, JUAN T.")},
        {new Employee("000002", "GOMEZ, MAR B.")},
        {new Employee("000003", "RIVERA, ERWIN J.")}
    };

    employeeList.Dump();
}

public class Employee
{
    public string EmployeeNo { get; set; }
    public string Name { get; set; }

    public Employee(string employeeNo, string name)
    {
        this.EmployeeNo = employeeNo;
        this.Name = name;
    }   
}
Run Code Online (Sandbox Code Playgroud)

我应该如何仅使用属性创建一个Employee类的新实例,并将该实例添加到employeeList(我的意思是不使用employee的类构造函数)?

我已经提出了一个解决方案,但它太长了.我应该如何缩短它?

void Main()
{   
    List<Employee> employeeList;

    #region - I want to shorten these lengthy codes. 
    Employee employee1 = new Employee();
    employee1.EmployeeNo = "000001";
    employee1.Name = "DELA CRUZ, JUAN T.";

    Employee employee2 = new Employee();
    employee2.EmployeeNo = "000002";
    employee2.Name = "GOMEZ, MAR B.";
    // other employees...
    #endregion

    employeeList = new List<Employee>
    {
        employee1,
        employee2
    };

    employeeList.Dump();
}

public class Employee
{
    public string EmployeeNo { get; set; }
    public string Name { get; set; }    
}
Run Code Online (Sandbox Code Playgroud)

Roh*_*est 6

你可以做到这一点

var list = new List<Employee> 
{
  new Employee {EmployeeNo = "000001", Name = "Peter Pan"}, 
  new Employee {EmployeeNo = "000002", Name = "King Kong"}
};
Run Code Online (Sandbox Code Playgroud)

这个的

public class EmployeeList : List<Employee>
{
    public void Add(string no, string name)
    {
        this.Add(new Employee(no, name));
    }
}

var list = new EmployeeList 
{ 
  { "000001", "Peter Pan" }, 
  { "000002", "King Kong"} 
};
Run Code Online (Sandbox Code Playgroud)