【发布时间】:2010-07-04 12:26:46
【问题描述】:
我的项目
我正在使用 VS C# 2.0 编写一个 Winform 应用程序,该应用程序包含多个库和两个可执行文件,每个都在其自己的项目文件中,并且是同一解决方案的所有部分。
每个项目都有自己的Settings Class 其中配置参数。一些参数是项目特定的,一些参数是多个项目需要的(但不是所有项目都需要),还有一些参数取决于通过 USB 连接到用户计算机的硬件设备的型号(并在运行时选择)。
设置类由枚举、属性以及加载和保存方法组成。
目前我有一个带有属性网格的表单,它实例化所有类的所有设置并让用户更改配置。它属于主要的可执行项目。
我的问题
我需要一种让用户配置整个应用程序的方法(我们称其为 configurator),因此我尝试创建另一个项目,该项目将具有带有属性网格的表单,但以配置器 和我的主要可执行文件之间的循环引用问题。 配置器需要自己运行或从主可执行文件中调用。
另外,我不知道将公共参数值的更改复制到其对应项的好方法。例如,如果参数 p 对项目 A 和 B 的设置类是通用的,那么当用户更改 A.p > 值,configurator 必须更改 B.p 值(反之亦然)。我认为解决此问题的唯一解决方案涉及属性网格的 PropertyValueChanged 事件处理程序上的 if 子句的噩梦。
谢谢,海蒂
【问题讨论】:
标签: c# settings circular-dependency