我正在开发一个在过去几年中由各种程序员编辑的应用程序,我偶然发现了使用字符串文字访问 MenuItems 的问题。
例如:在很多地方都有类似的代码
mainMenu.MenuItems[1].MenuItems[0].Visible=true;
或者
mainMenu.MenuItems["View"].MenuItems["FullScreen"].Visible=true;
如何更改用于识别 MenuItem 的字符串并捕获它用于访问的所有位置?菜单和菜单项被声明为公共的,并在整个大型应用程序中使用
什么是正确的方法阻止使用这些魔术索引。我预见到每次添加新项目或更改名称时都会出现问题。
PS 我已经开始使用枚举字典方法,其中每个 menuItem 都与一个键配对。但这仍然不会强迫其他开发人员使用我的实现,也不是问题 2 的最优雅的解决方案