create - custom control c#




¿Es posible hacer un control genérico en.Net 3.5? (3)

El .NET Framework los admite, pero como lo hace Vilx, los diseñadores simplemente no lo hacen, y a ninguna de las plataformas basadas en xml / markup (xaml (wpf) o ASP.NET) no les van a gustar los genéricos. Entonces, el mejor consejo es: no los use.

Un compromiso común es tener una propiedad Type (o una propiedad de plantilla de object sobre la cual se llama GetType() ), y simplemente lanzar etc. dentro del control. Del mismo modo, dicho uso comúnmente hará uso de cosas como Activator.CreateInstance y TypeDescriptor (para búsqueda de metadatos, etc.).

Tengo el siguiente control de usuario genérico declarado:

public partial class MessageBase<T> : UserControl
    {
        protected T myEntry;
        public MessageBase()
        {
            InitializeComponent();
        }
        public MessageBase(T newEntry)
        {
            InitializeComponent();
            myEntry = newEntry;
        }    
    }
}

Pero el compilador no me permitirá hacer esto:

public partial class MessageControl : MessageBase<Post>
{
    public MessageControl()
    {
        InitializeComponent();
    }
}

¿Cómo creo un control de usuario genérico en C #?


Por un lado, aunque los controles genéricos son posibles en .NET, los diseñadores de Visual Studio no los admiten, por lo que está solo si desea usarlos. Tendrás que instanciarlos tú mismo en tu código y también realizar el diseño.

En cuanto al error que mencionas, me parece que estás mirando en la dirección incorrecta. ¿Quizás podría escribir todo el texto de error aquí?






user-controls