2011-08-31 93 views
0

这是我的阶级结构需要帮助的C#编码

public class Customer 
{ 
    List<Address> add = null; 
    public Customer() 
    { 
     add = new List<Address>(); 
    } 

    public int EmpID { get; set; } 
    public string Name { get; set; } 

    public List<Address> Address 
    { 
     get { return add; } 
     set { add = value; } 
    } 
    public double Salary { get; set; } 
} 

public class Address 
{ 
    public string Address1 { get; set; } 
    public string Address2 { get; set; } 
    public string PostCode { get; set; } 
} 


    public void Populate() 
    { 
     List<Customer> oCust = new List<Customer>() 
     { 
       new Customer() { EmpID=1, Name="Sonia"}, 
       new Customer() { EmpID=2, Name="Bill"}, 
       new Customer() { EmpID=3, Name="Mark"}, 
     }; 
    } 

从populate方法,我与地址一起填充客户。 当我填充然后客户如何与它一起 填入地址我不是一个高级用户,请指导我有关的代码,如何 new Customer() { EmpID=3, Name="Mark" new Address{}}

请帮助....感谢

+0

你可能要考虑'Address'取出二传手,因为你可以添加到列表中,而无需更改整个列表... –

+0

您的代码很混乱。客户是否应该有一个地址或多个地址? – Achim

+3

这是你能想出的最好的头衔吗? –

回答

1
public class Customer 
{ 
    public int EmpID { get; set; } 
    public string Name { get; set; } 

    public List<Address> Address { get; set; } 

    public double Salary { get; set; } 
} 

public class Address 
{ 
    public string Address1 { get; set; } 
    public string Address2 { get; set; } 
    public string PostCode { get; set; } 
} 

public class TestClass 
{ 
    public void Populate() 
    { 
     List<Customer> oCust = new List<Customer>() 
      { 
        new Customer() { EmpID=1, Name="Sonia", Address = new List<Address>() 
             { 
              new Address { Address1 = "Sonia addr 11", Address2 = "Sonia addr 12", PostCode = "111" }, 
              new Address { Address1 = "Sonia addr 21", Address2 = "Sonia addr 22", PostCode = "222" } 
             } 
            }, 
        new Customer() { EmpID=2, Name="Bill", Address = new List<Address>() 
             { 
              new Address { Address1 = "Bill addr 11", Address2 = "Bill addr 12", PostCode = "111" }, 
              new Address { Address1 = "Bill addr 21", Address2 = "Bill addr 22", PostCode = "222" } 
             } 
            }, 
        new Customer() { EmpID=3, Name="Mark", Address = new List<Address>() 
             { 
              new Address { Address1 = "Mark addr 11", Address2 = "Mark addr 12", PostCode = "111" }, 
              new Address { Address1 = "Mark addr 21", Address2 = "Mark addr 22", PostCode = "222" } 
             } 
            } 
      }; 
    } 
} 
11
List<Customer> oCust = new List<Customer>() 
{ 
    new Customer() 
    { 
     EmpID = 1, 
     Name = "Sonia", 
     Address = 
     { 
      new Address { Address1 = "foo", Address2 = "bar", PostCode = "pc" }, 
      new Address { Address1 = "foo 2", Address2 = "bar 2", PostCode = "pc 2" }, 
     } 
    }, 
    new Customer() 
    { 
     EmpID = 2, 
     Name = "Bill", 
     Address = 
     { 
      new Address { Address1 = "bill 1", Address2 = "bill 2", PostCode = "bill pc" }, 
     } 
    } 
}; 
+2

你不需要'新列表

',因为它是在这里的构造函数创建的... –

+0

@Reed Copsey,完美,谢谢你指出这一点。我已经更新了我的答案并将其考虑在内。它使代码更短。 –

3

使用collection initializer

List<Customer> oCust = new List<Customer>() 
{ 
    new Customer() 
    { 
     EmpID=1, 
     Name="Sonia", 
     Address = 
     { 
      new Address { Address1 = "addr1", Address2 = "addr2", PostCode = "12345" }, 
      new Address { Address1 = "addr1", Address2 = "addr2", PostCode = "12345" }, 
      new Address { Address1 = "addr1", Address2 = "addr2", PostCode = "12345" }, 
     }, 
    }, 
}; 
0

你必须填写的地址你没有像新客户的客户(){ 的EmpID = 3的相同方式,名称=“标记”,新广告礼服(){地址1 ​​= “123的Xyz大道”,地址2 = “999套房”,POSTALCODE = “11111”}}

1
new Customer() { EmpID=1, Name="Sonia", 
         Address = new List<Address>() { 
          new Address() { Address1 = "ADDRESS1", PostCode = "000214"} } 
        },