【发布时间】:2017-12-15 14:26:38
【问题描述】:
我必须做一个有几个组合框的表格。 组合框的值表示为键-描述对。
每个组合框在单独的表中都有其值Key<string>-Value<string>
如何在类中表示它?
假设我们有 Project(Type 和 Technology)作为“枚举”,每个它们在数据库中的类型和技术表中(因此其数量取决于数据库中的行数)
class Project {
public int Id {get; set;}
public KeyValuePair<string, string> Type {get; set;}
public KeyValuePair<string, string> Technology {get; set;}
}
或更好
class ProjectType { public string Key; public string Value; }
class ProjectTechnology { public string Key; public string Value; }
class Project {
public int Id {get; set;}
public ProjectType Type {get; set;}
public ProjectTechnolgy Technology {get; set;}
}
从关注点分离的角度来看,我们可能应该使用第二种变体,但是如果我们可以像第一种那样简单,为什么要复杂化呢?
【问题讨论】:
-
你在使用 WPF 吗?我不清楚你在问什么。
-
我使用“ASP.NET Core”Web 应用程序,我问我是否应该将 KeyValuePair 分离到单独的类中
-
所有类型和技术都已知吗?我的意思是,类型和技术的数量是静态的,还是说你今天可能有 5 种类型,明天可能有 10 种?有人可以添加新的类型或技术吗?
-
技术是数据库中的一个表......所以这取决于里面有多少行
-
是的,引用你的话“假设我们有项目(类型和技术)作为“枚举”,那么行数是固定的,对吧?既然枚举长度是固定的