创建静态菜单属性

时间:2017-01-23 10:02:09

标签: c# static-methods

我正在尝试创建一个菜单类,我可以在我的代码中添加MenuItems,然后通过静态属性调用子项。

我的想法:

var myMenu = new Menu();
myMenu.Add("Articles");
myMenu.Add("Customers");

// now call the item via...
_navigation.NavigateTo(Menu.Articles);

// or add further subitems
Menu.Customers.Add("International");

C#可以构建这样的属性吗?

1 个答案:

答案 0 :(得分:0)

您可以为其创建静态属性。您需要将实例存储在静态属性中。它们无法动态创建。如果要动态访问它们,则应创建类似Dictionary<string, MenuItem>的内容以按名称访问实例。

public class Program
{
    static void Main()
    {
        MyMenu = new Menu();
        Articles = myMenu.Add("Articles");
        MyMenu.Add("Customers");

    }

    public static Menu MyMenu {get; private set;}
    public static MenuItem Articles { get; private set;}
}

您可以选择是否要访问MenuMenuItem。您可以使用Program.MyMenuProgram.Articles

来访问它们