我在一个网格中有~20列,每个列都可以通过另一个对话框中的复选框显示或隐藏。
任何给定列的可见性状态将存储在XML文件中,该文件可通过Options类访问。
我正在尝试决定如何最好地在Options类中表示这些布尔可见性值。我很确定我会希望属性暴露每个列的可见性,但是在那些下面应该有每个列的bool还是我应该考虑使用Dictionary或类似的来在一个地方保存所有列可见性值?
我认为单独bool的方式可能更强大,不太可能导致缺少列值或某些此类值,但是Dictionary可能会减少代码总量。
答案 0 :(得分:2)
如果它是您需要为列存储的唯一属性,则可以使用单个字符串,其中1表示列可见,0表示隐藏。
< Columns Colible =“00001011110111010101”/>
答案 1 :(得分:2)
我想说如果你以后需要存储其他属性(例如每列的宽度),使用字典会更好。
答案 2 :(得分:0)
从概念上讲,你迈出了最终希望坚持对象状态的第一步,所以以这种方式思考问题。由于您已经承诺将XML用于持久性格式,因此从您的答案到答案应该是一小步。
答案 3 :(得分:0)
我选择这样做的方式是创建一个枚举,其中每个列的条目与一个字典组合以保持可见性状态和一个公开每个列值的属性。
这样可以很容易地从我的XML文件中存储和检索列值(只需通过Enum枚举存储/从每个枚举的字典中检索所需的值),同时还提供比仅使用裸字典更安全的方法