gpt4 book ai didi

c# - 避免神奇的字符串和数字

转载 作者:行者123 更新时间:2023-11-30 13:48:52 41 4
gpt4 key购买 nike

我正在开发一个应用程序,在过去的几年中,该应用程序已被各种程序员编辑过,我偶然发现了使用字符串文字访问菜单项的问题。

例如:在很多地方有这样的代码

mainMenu.MenuItems[1].MenuItems[0].Visible=true;

mainMenu.MenuItems["View"].MenuItems["FullScreen"].Visible=true;
  1. 如何更改用于标识 MenuItem 的字符串并捕获它用于访问的所有位置?菜单和菜单项被声明为公共(public)的,并在整个大型应用程序中使用

  2. 防止使用这些魔术索引的正确方法是什么。我预见到每次添加新项目或更改名称时都会出现问题。

附言我已经开始使用枚举字典方法,其中每个 menuItem 都与一个键配对。但这仍然不会强制其他开发人员使用我的实现,也不是问题 2 的最优雅的解决方案

最佳答案

在 WinForms 设计器中为每个菜单项命名(我假设),然后使用该名称引用它。

enter image description here

然后只需在您的代码中使用它:

menuExit.Visible = false;

如果以编程方式添加菜单项,请执行以下操作:

class MyForm : Form
{
private MenuItem menuExit;

...

myMenu.Items.Add(menuExit = new MenuItem(...));

...
}

然后仍然通过 menuExit 名称访问它。避免魔数(Magic Number)和字符串的关键是保持对任何你想引用的内容的直接引用。作为奖励,您现在可以使用 F2 安全地重命名此变量。

关于c# - 避免神奇的字符串和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11099876/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com