2016-10-13 7 views
0

を撃った:1での内部クラスのオブジェクトのリストを作成しますが、私は2つのオブジェクトを持って

public class DPMenu 
{ 
    private String menuDescription; 
    private List<DPMenuItem> menuItems = new List<DPMenuItem>(4); // Initialize list with 4 items 

    public DPMenu(String menuHeader) 
    { 
     menuDescription = menuHeader; 
    } 

    public String Description 
    { 
     get { return menuDescription; } 
     set { menuDescription = value; } 
    } 

    public List<DPMenuItem> MenuItems 
    { 
     get { return menuItems; } 
    } 
} 

public class DPMenuItem 
{ 
    private String itemDescription; 
    private String itemActionLink; 

    public String Description 
    { 
     get { return itemDescription; } 
     set { itemDescription = value; } 
    } 

    public String Link 
    { 
     get { return itemActionLink; } 
     set { itemActionLink = value; } 
    } 
} 

は、私は1つの内側のリストを取り込むオブジェクトDPMenuショットで作成することができますか?例

List<DPMenu> mainMenu = new List<DPMenu>(); 
DPMenu menuHeader; 

List<DPMenuItem> menuItems = new List<DPMenuItem>() { 
    new DPMenuItem { Description = "A", Link = "A" }, 
    new DPMenuItem { Description = "B", Link = "B" } 
}; 

menuHeader = new DPMenu("HD").MenuItems.AddRange(menuItems); 

しかし、それは動作しませんのために ... はありがとうございます!

+0

あなたは 'IEnumerableを'を受け取るコンストラクタのオーバーロードを持っていないことはできますか? – KMoussa

+0

ちなみに、最後の行は 'menuHeader'に' AddRange'が返すものを代入して何も返しません( 'void')ので動作しません。別の行で 'AddRange'を呼び出すか、リストを受け入れるコンストラクタを作成する必要があります。 – Andrew

+0

はい私は知っています...しかし、私は理由を理解することができませんでした。 – robyg72

答えて

1

ちょうどあなたのコードを持って、なぜそれをシンプルに保つないし、それが完了したらちょうど別のオーバーロードされたコンストラクタ

public DPMenu(String menuHeader, List<DPMenuItem> itemList) 
     { 
      menuDescription = menuHeader; 
      menuItems = itemList; 
     } 

を作成するには、次の手順を実行します。あなたが何をしようとしているのかわからないが、これが助けてくれることを願う。これがあなたの要求を満足していると感じたら答えを記入してください。

List<DPMenuItem> menuItems = new List<DPMenuItem>() { 

       new DPMenuItem { Description = "A", Link = "A" }, 
       new DPMenuItem { Description = "B", Link = "B" } 
    }; 
    menuHeader = new DPMenu("HD", menuItems); 
+0

ソリューションをありがとう。私の目標は、オブジェクトを作成し、可能な限りコンパクトな方法で内部リストを作成することでした。それは少し難題でした。これは、オブジェクトの構造を練習として修正されていますか?ありがとうございました – robyg72

+0

@ robyg72、 "あなたがオブジェクトの構造を練習するように修正されましたか?"というメッセージが表示されませんでしたか? –

+0

また、正しい場合はこれを答えとしてマークできますか? –

関連する問題