2009-10-21 9 views

Respuesta

28

where TEntity : ... aplica restricciones al parámetro genérico TEntity. En este caso, las restricciones son:

clase: El argumento para TEntity debe ser un tipo de referencia
IEntity: El argumento debe ser o implementar la interfaz IEntity
nueva(): El argumento debe tener un constructor sin parámetros pública

De http://msdn.microsoft.com/en-us/library/d5x73970.aspx

+0

Si pudieras agregar algún código que muestre cómo alguien podría usar BaseEntityManager como clase base, sería genial :) – niico

0

Donde es una restricción de tipo genérico. Que las líneas dicen que el tipo TEntity debe ser un tipo de referencia en oposición a un tipo de valor, debe implementar la interfaz IEntity y debe tener un constructor que no tome parámetros.

http://msdn.microsoft.com/en-us/library/bb384067.aspx

4

El where palabra clave después de la declaración de la clase restringir qué tipo genérico TEntity podría ser. En este caso TEntity debe ser una clase (lo que significa que no puede ser un tipo de valor igual o intDateTime), y debe implementar la interfaz IEntity. La restricción new() indica que los métodos dentro de esta clase tienen la posibilidad de llamar al constructor predeterminado de la clase genérica representada por TEntity (por ejemplo new TEntity())

-1

Cuál es la pregunta?

Déjame tomar en tiro en lo que creo que es la pregunta. La restricción garantiza que solo se puede subescribir BaseEntityManager con un parámetro genérico que es un tipo de referencia que implementa IEntity y que contiene un constructor sin parámetros.

E.X.

public class Product : IEntity { 
    public Product() {} 
} 

public class Wrong { 
    public Wrong() {} 
} 

public class WrongAgain : IEntity { 
    private Wrong() {} 
} 


// compiles 
public ProductManager : BaseEntityManager<Product> {} 


// Error - not implementing IEntity 
public WrongManager : BaseEntityManager<Wrong> {} 


/Error - no public parameterless constructor 
public WrongAgainManager : BaseEntityManager<WrongAgain> {} 

ver link text

+0

"¿Alguien podría ayudarme con la línea ...?" esa es la pregunta. Es obvio lo que está preguntando. –

Cuestiones relacionadas