C# 创建静态菜单属性
我正在尝试创建一个菜单类,我可以在代码中添加菜单项,然后通过静态属性调用子项 我的想法是:C# 创建静态菜单属性,c#,static-methods,C#,Static Methods,我正在尝试创建一个菜单类,我可以在代码中添加菜单项,然后通过静态属性调用子项 我的想法是: 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"
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#可以构建这样的属性吗?您可以为此创建静态属性。您需要将实例存储在静态属性中。它们不能动态创建。如果您想动态地访问它们,您应该创建类似于
字典的东西来按名称访问实例
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;}
}
您可以选择是否要访问菜单
或菜单项
。您可以使用Program.MyMenu
或Program.Articles
等来访问它们。还不能对问题进行评论,但请尝试在这里查找,我想我将使用您提到的预定义静态属性。使用ExpandoObject的想法看起来很不错,但是当我需要读取Expando属性时,我必须将菜单对象强制转换为动态
,因此intellisense不再喜欢它了。。。