我正在尝试创建一个菜单类,我可以在我的代码中添加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#可以构建这样的属性吗?
答案 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;}
}
您可以选择是否要访问Menu
或MenuItem
。您可以使用Program.MyMenu
或Program.Articles
等