我继承了一个用 C# 编写的基于 Windows 窗体的小程序,它使用了一个“常量”(见下文),我需要修改这个程序,以便“PROPERTY_NAME”可以是“工作”和“职业”。
private const string PROPERTY_NAME = "jobs";
我猜一个常量不是为了改变而设计的,所以我是否需要改变它。上面的行在类文件的顶部设置一次,然后在整个文件中使用 PROPERTY_NAME。
在主窗体上,我想添加两个单选按钮 1 称为“工作”,一个称为“职业”,然后根据所选内容更改类文件中的 PROPERTY_NAME。我需要将单选按钮状态传递给类文件中的方法吗?我记得读过我不能简单地从类文件中读取单选按钮值。
非常感谢您的建议。
简
最佳答案
在没有看到代码的任何其他部分的情况下,我最好(也是最简单)的猜测(我可以详细说明一些更清晰的事情,但这只是为了速度)是删除 const
并添加 readonly
所以 PROPERTY_NAME
只是一个普通的旧类成员变量,不能在构造函数之外更改。
在类的构造函数中,接受一个字符串参数,并让创建此类实例的代码传入“jobs”或“careers”(可能来自所选的单选按钮)并设置 PROPERTY_NAME
变量。
编辑:
如 Sasha 所说,另一种方法是使用 enum
,但这取决于 PROPERTY_NAME
究竟做了什么,这是否适合您的应用程序。
关于C# 改变常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453986/