我的程序中有以下数据和对象。
包含以下对象的 DynamicObjectContainer。
MeasurementParameters : DataContainer
(DataContainer 是基类)
这个对象有很多公共属性,我只在运行时MeasurementParameters
知道它们的名字。我还在基类中设置了内部连接,这样我就可以使用易于使用的接口访问类中包含的属性的值。DataContainer
MeasurementParameters
例如:假设我有一个MeasurementParameters
名为“pumpspeed”(类型字符串)的属性。我可以使用此函数访问该属性的值。
MeasurementParameters.GetStringValue("pumpspeed");
我通过在DataContainer
对象构造期间使用反射在对象内部创建委托列表来实现这一点。(这是一次性的事情。)
到目前为止,一切都很好。
现在我被困在我想MeasurementParameters
在 Windows 窗体中显示这些值的地方。
因为我只知道运行时的属性名称,所以我必须为用户提供一些方法来将属性名称(仅由他在脚本文件中定义)映射到表单中的固定标签。所以用户将映射数据以如下格式保存到表中。
Entry : "pumpspeed" "label22"
我想要一种快速有效的方法来从数据库中获取此映射,从MeasuremetParameters
对象中获取所需的数据并将其显示在 windows 窗体中。
注意:如果这是一次性操作,我有很多解决方案。问题有两个方面。
- 有大量的属性
MeasurementParameters
(大约 200 处) - 该
MeasurementParameters
对象包含不断更新其属性的函数。所以我的 windows 窗体必须调用这些函数来更新MeasurementParameters
对象数据、获取数据并将其显示在正确的标签中。
此外,这应该以每秒 2 -3 次左右的周期发生。(理想情况下)
任何人都可以帮助我为此设计一个解决方案吗?一般的对象结构和关系建议也会对我有所帮助。
如果需要,我可以发布我正在使用的代码。