У меня есть как минимум четыре разных класса для некоторых моделей, которые я хочу использовать для создания частичных представлений.Дело в том, что каждое из этих частичных представлений генерирует выпадающий список точно таким же образом.
public class LocalityGeneratorForm
{
[Key]
public int id { get; set; }
[Display(Name = "Description of the field")]
public Locality[] locality { get; set; }
public virtual ICollection<Locality> Localities { get; }
}
public class GoalGeneratorForm
{
[Key]
public int id { get; set; }
[Display(Name = "A different description of the field")]
public Goal[] goal { get; set; }
public virtual ICollection<Goal> Goals { get; }
}
public class ProcessGeneratorForm
{
[Key]
public int id { get; set; }
[Display(Name = "A third description of the field")]
public Process[] process { get; set; }
public virtual ICollection<Process> Processes { get; }
}
public class FieldGeneratorForm
{
[Key]
public int id { get; set; }
[Display(Name = "The other new description of the field")]
public Field[] field { get; set; }
public virtual ICollection<Field> Fields { get; }
}
Хорошо, поэтому все эти ViewModels действительно похожи, они отличаются только типом ICollection.Теперь, чтобы сгенерировать строку HTML, я буду использовать функцию, которая будет принимать два параметра: один - имя частичного представления, которое будет служить шаблоном, а другой - модель.
Итак, яхочу иметь возможность создать этот метод, готовый принять экземпляр любого из классов выше или в будущем, может быть, больше.
private string ConvertViewToString( string viewName, <GenericClass> model )
{
//-- Do stuff..
return "My HTML";
}
Первый вопрос: возможно ли это, и если да, то какЯ объявляю универсальный параметр?спасибо!