<分区>
我有一个对象(表单),其中包含一个集合(.Fields),我想在其中包含通用类(FormField)的实例。
简单来说,FormField 是这样定义的:
public class FormField<T>
{
private Form Form;
public T Value { get; set; }
public string Name { get; set; }
public void Process()
{
// do something
}
public FormField(Form form, string name, T value)
{
this.Name = name;
this.Value = value;
this.Form = form;
}
}
这让我可以拥有 FormField、FormField 等,这部分工作得很好。 我想要的是一个“Formfields”的集合,无论类型如何,但我被迫定义一个类型(看起来),例如:
public class Form
{
string Code { get; set; }
string Title { get; set; }
int Year { get; set; }
Guid ClientID { get; set; }
ICollection<FormField<int>> Fields { get; set; }
}
我想,我想要的是一个接口(interface),它允许我抽象类型信息,从而将集合类型化为(例如)IFormField 而不是 FormField<>
但如果不在界面中强键入集合,我看不出如何定义它...
任何帮助(包括任何替代解决方案!)将不胜感激!
谢谢,本