Pregunta

Usted debe ser capaz de 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 en C#, y se compila.Sin embargo, el diseñador no funciona y la forma lanzará una excepción en tiempo de ejecución si tienes alguna de las imágenes que indica que no encuentra el recurso.

Creo que esto es debido a que el diseñador de windows forms se supone que los recursos se almacenan bajo el simple nombre del tipo.

¿Fue útil?

Solución

Sí, usted puede!He aquí un blog post que hice hace un tiempo con el truco:

El Diseño De Formas Genéricas

Editar:Parece que ya estás haciendo de esta manera.Este método funciona bien, así que no la consideran demasiado chapucero.

Otros consejos

Tengo un truco para solucionar esto, que funciona pero no es lo ideal:

Agregar 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 aún está mal la espera de tipo simple (yo.e sin <>) todavía se encuentra.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top