我有以下代碼C#泛型類和方法不表現爲預期
public class BaseDataRepository<T> : IDataRepository, IDisposable where T:class
{
public IQueryable<T> GetItems<T>() where T : class
{
return _context.Set<T>();
}
}
}
採用以下方式
using (var repository = new BaseDataRepository<DbInterestGroupCategory>())
{
Assert.IsTrue(repository.GetItems().Count() == 3);
}
但我得到以下信息
類型參數方法'...'不能從使用中推斷出來。 嘗試明確指定類型參數。
我原以爲這個方法會自動從泛型類中推出它的T參數。我究竟做錯了什麼?
你應該會看到一個警告編譯大約具有相同的名稱作爲外部類典型的方法類型參數e參數。 – juharr