2011-09-09 4 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

「連絡先」を作成する(または自動プロパティを使用しない)コンストラクタを追加する必要があります – xanatos

+0

-1:連絡先はまだnullです。 – 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; } 
} 
関連する問題