0
Можете ли вы использовать общие формы в C#?
У вас должна быть возможность создать общую форму:
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
Действительно C#, и компилируется. Однако дизайнер не будет работать, и форма выдаст исключение времени выполнения, если у вас есть изображения, указывающие, что он не может найти ресурс.
Я думаю, это связано с тем, что конструктор форм Windows предполагает, что ресурсы будут храниться под именем простого типа.
Ответов (4)4
Решение
0
Если палеолитический код вас не пугает
public static MyForm GetInstance<T>(T arg) where T : MyType
{
MyForm myForm = new MyForm();
myForm.InitializeStuffs<T>(arg);
myForm.StartPosition = myForm.CenterParent;
return myForm;
}
Используй это
var myFormInstance = MyForm.GetInstance<T>(arg); myFormInstance.ShowDialog(this);