2011-09-09 65 views
0

誰能幫我找出我怎麼能做到以下幾點:.NET屬性

PersonalInfo info = new PersonalInfo(); 
info.Contact.Name = "name"; 
info.Contact.Telephone = "2323232"; 

感謝。


以下是實現的。

PersonalInfo info = new PersonalInfo(); 
info.Contact.Name = "name"; 
info.Contact.Telephone = "2323232"; 

但是在接下來的情況下,該怎麼辦?

PersonalInfo info = new PersonalInfo(); 
info.Contact.Name = "name"; 
info.Contact.Telephone = "2323232"; 
info.Contact.Office.Address = "Sweden" 

感謝您的幫助。

+0

您已經實現(類型)的。什麼是真正的問題? Di Oyvind猜對了嗎? –

回答

3
public class Contact{ 
    public string Name {get;set;} 
    public string Telephone {get;set;} 
} 

public class PersonalInfo{ 
    public Contact Contact {get;set;} 
    public PersonalInfo(){ 
    this.Contact = new Contact(); 
    } 
} 

var info = new PersonalInfo(); 
info.Contact.Name = "name"; 
info.Contact.Telephone = "2323232"; 

;)

+2

你必須添加一個構造函數來創建'Contact'(或者不要使用自動屬性) – xanatos

+0

-1:聯繫仍然是空的。 – leppie

+0

編輯後仍然錯誤... – leppie

1
private void Test() 
{ 
    PersonalInfo pi = new PersonalInfo(); 

    pi.Contact = new Contact(); 

    pi.Contact.Name = "test"; 
} 

public class Contact 
{ 
    public string Name {get;set;} 
    public string Telephone {get;set} 
} 

public class PersonalInfo 
{ 
    public Contact Contact {get;set;} 
} 

如果你想自動實例的聯繫方式這個構造函數添加到personalInfo類:

public PersonalInfo() 
    { 
     this.Contact = new Contact(); 
    } 
+1

真的不喜歡你建議他在課堂上使用公共領域而不是屬性。 –

+0

@ØyvindKnobloch-Bråthen - 更新,只是一個簡單的例子:) – WraithNath

+0

完美。現在好多了 ;) –

0
public class PersonalInfo 
{ 
    public Contact contact = new Contact(); 
} 

public class Contact 
{ 
    public string Name { get; set; } 
    public string Telephone { get; set; } 
}