2010-11-19 11 views
1

Ich habe diesen Code:Frage zum Auto-Implementiert Eigenschaften C#

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

Wie soll ich eine neue Instanz der Klasse Employee machen nur die Eigenschaften mit und fügen Sie diese Instanz auf die employeeList (ich meine die Klasse nicht mit Erbauer des Angestellten)?

Ich habe bereits eine Lösung, aber es ist zu lang. Wie soll ich es verkürzen?

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

Antwort

6

Sie dieses

var list = new List<Employee> 
{ 
    new Employee {EmployeeNo = "000001", Name = "Peter Pan"}, 
    new Employee {EmployeeNo = "000002", Name = "King Kong"} 
}; 

dieser

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"} 
}; 
+0

groß ....! Danke :) – yonan2236

+0

+1, wusste nicht, Sie könnten Ihre eigene Überladung der Add-Methode verwenden – cordialgerm

0

Sie könnten wie etwas tun, dass

var employee1 = New Employee() { EmployeeNo = "000001", Name = "DELA CRUZ, JUAN T." }; 
0

Wie wäre es dies tun könnte?

void Main() 
{ 
    var employeeList = new List<Employee> { 
          new Employee { EmployeeNo = "000001", Name = "DELA CRUZ, JUAN T." }, 
          new Employee { EmployeeNo = "000002", Name = "GOMEZ, MAR B." } 
         }; 

    employeeList.Dump(); 
} 

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