1
我試圖根據標誌返回兩個存儲庫實例之一。我的倉庫接口和實現看起來像這樣:c# - 動態返回通用接口
public interface IRepository<T>
{
T Insert(T entity);
void Delete(T entity);
IEnumerable<T> SearchFor(Expression<Func<T, bool>> predicate);
IEnumerable<T> GetAll();
T SearchForFirst(Expression<Func<T, bool>> predicate);
bool Has(Expression<Func<T, bool>> predicate);
}
class Repository<T> : IRepository<T> where T : class { ... implementation here ...}
,這是返回倉庫的兩個實例的一個應該是這個樣子的方法:
public IRepository<T> GenerateRepository(bool flag)
{
if (flag) {
return new Repository<MyFirstType>();
} else {
return new Repository<MySecondType>();
}
}
任何人都可以點我在正確的方向至於這究竟應該如何寫?
由於
這實際上沒有意義。你爲什麼想這麼做? – SLaks
我想我只是在考慮錯誤的問題 –