我有一個通用的存儲庫類。獲取類型特定版本的泛型類型
public class Repository<TEntity> where TEntity : class
{
public virtual TEntity Create()
{
// Create implementation.
}
public virtual bool Add(TEntity entity)
{
// Add implementation.
}
public virtual bool Delete(TEntity entity)
{
// Delete implementation.
}
public virtual int SaveChanges()
{
// Save changes implementation.
}
}
我有幾種類型的不完全,所以我希望做一個具體實施beheaviour匹配,主要爲Create
方法。
喜歡的東西:
public class SpecificEntityRepository : Repository<SpecificEntity>
{
public override SpecificEntity Create()
{
// Other create implementation.
}
}
有沒有一種方法,如果一個人使用Repository<SpecificEntity>
返回的SpecificEntityRepository
方法的值,例如在Repository<>
構造函數返回SpecificEntityRepository
當參數類型等於SpecificEntity
?
我正在尋找一種通用的方法來做到這一點。在我的項目的最終版本中,可能會有多達200個特定的存儲庫,其中95%的功能是通用的。
謝謝你添加字典的想法。對於庫的數量,我將需要它更實際。 – 2013-02-28 11:32:30