我有两个通用的抽象类型:Entity
和Association
。如何声明一个通用类型的通用约束条件
比方说Entity
看起来是这样的:
public class Entity<TId>
{
//...
}
和Association
看起来是这样的:
public class Association<TEntity, TEntity2>
{
//...
}
如何约束协会,使他们可以是任何实体的?
我可以通过下面的完成它:
public class Association<TEntity, TId, TEntity2, TId2>
where TEntity : Entity<TId>
where TEntity2: Entity<TId2>
{
//...
}
这得到更多类型从Association
获得非常繁琐的,因为我要不断传承TID和TID2。有没有更简单的方法来做到这一点,除了删除约束?
非常好! +1。 – Nayan 2010-04-20 18:36:55
是的,我已经得出结论,一个界面最适合我的需求,除非我需要重新调整我的界面以获得非通用基础!我希望有一个整洁的语言技巧,但可惜... – HackedByChinese 2010-04-20 18:47:03
@HackedByChinese:我敢肯定这是可以添加的东西,但考虑到现有的解决方法既简单又100%有效(不牺牲任何功能),我们很可能不会在短时间内看到类似'TEntity >'的任何东西;) – 2010-04-20 18:49:16