Вам необходимо создать универсальную форму:
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
Действительный C# и собирает. Однако проектировщик won' t работа и форма бросит исключение во время выполнения, если у Вас будут какие-либо изображения, указывающие, что это не может найти ресурс.
Я думаю, что это вызвано тем, что окна формируются, проектировщик предполагает, что ресурсы будут сохранены под простым type' s имя.
Да Вы можете! Here' s сообщение в блоге я сделал только что с уловкой:
Проектируя универсальные формы
Отредактируйте: Похож на you' ре, уже делающее его этот путь. Этот метод хорошо работает так я wouldn' t рассматривают его также hacky.
У меня есть хакерское проникновение к работе это, которое работает, но isn' t идеал:
Добавьте новый класс к проекту, который наследует форму с ее простым именем.
internal class MyGenericForm:
MyGenericForm<object> { }
Это означает это, хотя проектировщик все еще неправ ожидаемый простой тип (т.е. без '< >';) все еще найден.
Вы можете сделать это в трех шагах.
public partial class Form1<TEntity, TContext> : Formbase // where....
partial class Form1<TEntity, TContext>
partial class Form1
{
}