Tengo dos tipos abstractos genéricos: Entity
y Association
.Cómo declarar una restricción genérica que es un tipo genérico
Digamos Entity
se parece a esto:
public class Entity<TId>
{
//...
}
y Association
se parece a esto:
public class Association<TEntity, TEntity2>
{
//...
}
¿Cómo se ve limitada por la Asociación para que puedan ser de cualquier entidad?
puedo lograr que por lo siguiente:
public class Association<TEntity, TId, TEntity2, TId2>
where TEntity : Entity<TId>
where TEntity2: Entity<TId2>
{
//...
}
Esto se vuelve muy tedioso como más tipos derivan de Association
, porque tengo que seguir pasando hasta tres veces al día y TId2. ¿Hay una forma más simple de hacerlo, además de eliminar la restricción?
¡¡Muy bonito !! +1. – Nayan
Sí, ya había llegado a la conclusión de que una interfaz se adecuaría mejor a mis necesidades, ¡excepto que necesito reajustar mis interfaces para tener una base no genérica! Esperaba que hubiera un buen truco de lenguaje, pero por desgracia ... – HackedByChinese
@HackedByChinese: estoy seguro de que es algo que podría agregarse, pero dado que hay una solución existente que es tanto simple como 100% efectiva (sin sacrificar ninguna funcionalidad), es probable que no veamos nada parecido a 'TEntity >' en el corto plazo;) –