我在理解我将如何设计班级方面有点麻烦。C#+班级设计
我希望能够在自定义字段旁边获得n个系统字段。
我想在接口上的简单方法叫:
我Collection<Field> GetFieldDefinitions();
内部这应该让我需要在报表中显示的所有字段。
的第二种方法将返回字段和它们的值也:
ICollection<Field> GetFieldDefinitionsWithValues(T src);
T是其中对于每个字段中的信息将来自例如填充源如果我传入公司,字段定义是否包含公司名称,我将在公司表上进行查询并检索信息并将其添加到字段中。
public Class SystemFieldCompany
{
IDictionary<string,Field> list;
private readonly ValidationEngine _val;
public SystemFieldCompany(ValidationEngine val)
{
_val = val;
list = new Dictionary<string,Field>();
}
public ICollection<Field> GetFields()
{
list.add("id",new Field{name = "id", value = "5"});
list.add("nameofcompany",new Field{name = "nameofcompany", value = "super guys"});
return list.Values;
}
//pass in model object with values on it, set up fields, then pass back all fields
ICollection<Field> GetFieldsWithValues(T object);
}
上面这个类应该是一个具体类吗? 例如var fields = new FieldClass()。GetFields();
还是应该使用组合?我怎样才能通过一个接口来做到这一点?
。关于最佳做事方式的问题通常不会在没有尽可能多的关于情况的信息的情况下真正负责 – Grizzly
@Grizzly:我已经重新写过,希望这样更好? – Haroon