tutorial - ¿Puedes usar formas genéricas en C#?
windows forms visual studio 2017 (2)
¡Sí tu puedes! Aquí hay una publicación de blog que hice hace un tiempo con el truco:
Diseño de formularios genéricos
Editar: parece que ya lo estás haciendo de esta manera. Este método funciona bien, así que no lo consideraría demasiado hacky.
Debería poder crear una forma genérica:
public partial class MyGenericForm<T> :
Form where T : class
{
/* form code */
public List<T> TypedList { get; set; }
}
Es válido C # y compila. Sin embargo, el diseñador no funcionará y el formulario lanzará una excepción de tiempo de ejecución si tiene alguna imagen que indique que no puede encontrar el recurso.
Creo que esto se debe a que el diseñador de formularios de Windows supone que los recursos se almacenarán con el nombre del tipo simple.
Tengo un truco para solucionar esto, que funciona pero no es ideal:
Agregue una nueva clase al proyecto que hereda el formulario con su nombre simple.
internal class MyGenericForm:
MyGenericForm<object> { }
Esto significa que, aunque el diseñador todavía está equivocado, aún se encuentra el tipo simple esperado (es decir, sin <>
).