He siguiente problema:¿Cómo establecer/crear una instancia de Generics?
class Request<T>
{
private T sw;
public Request()
{
//How can i create here the instance like
sw = new T();
}
}
es posible hacerlo?
He siguiente problema:¿Cómo establecer/crear una instancia de Generics?
class Request<T>
{
private T sw;
public Request()
{
//How can i create here the instance like
sw = new T();
}
}
es posible hacerlo?
agregar una restricción new:
class Request<T> where T : new() {
private T sw;
public void Request() {
sw = new T();
}
}
Esto le dice al compilador que T
siempre tendrá un constructor sin parámetros accesibles (no, no se puede especificar cualquier otro tipo de constructor).
Debe declarar la restricción where T : new()
en la declaración de clase. Esto restringe T
a los tipos con un constructor predeterminado público. Por ejemplo:
class Request<T> where T : new()
{
private T sw;
public Request()
{
sw = new T();
}
}
Más información: http://msdn.microsoft.com/en-us/library/d5x73970.aspx
Gracias, un ejemplo sería muy útil. – Racooon
@VuralAcar - No hay problema, actualizado con el ejemplo. –
Gracias por esta respuesta correcta y rápida. – Racooon