我有一组反映在 UI 中的自定义对象
界面(极其简化)
public interface IMyInterface
{
string Name { get; set; }
int Data { get; set; }
}
收藏
MyCollection<IMyInterface> Foo;
Foo
UI(以合理的方式显示内容,例如)
Name: [ asdf ] Data: [ 1234 ]
Name: [ qwer ] Data: [ 5678 ]
Name: [ zxcv ] Data: [ 0000 ]
我现在需要在我的程序中打开两种IMyInterface
类型并显示平均数据以及单个IMyInterface
对象:
Name: [ asdf ] Data: [ 1234 ]
Name: [ qwer ] Data: [ 5678 ]
Name: [ zxcv ] Data: [ 0000 ]
Name: [ 2 Objects (asdf, qwer) ] Data: [ 3456 ]
我必须能够摆脱这个新的平均水平asdf
。qwer
我可以实现这一目标的最佳方法是什么?我觉得我有三个选择:
IMyInterface
使用 s的内部集合创建一个继承自的类型IMyInterface
。然而,这感觉有点脏,因为一些属性是不可平均的。- 替换
Foo
为 `MyCollection> 并在我使用它的地方检查内部集合的计数 - 将 MyCollection 变成一个类似字典的对象,我可以在其中为每个对象指定一个“组”,然后我可以通过它们的组 ID 取出对象。
欢迎任何建议。