IRepository
arabirim için bir alay oluşturmaya çalışıyorum:IQueryable <T>'yi uygulamak için <T>'i listeleyin
public interface IRepository<T> : ICollection<T>, IQueryable<T>
{
}
Bu uygulama ile:
public class RepositoryFake<T> : List<T>, IRepository<T>
{
public Expression Expression
{
get
{
return this.AsQueryable().Expression;
}
}
public Type ElementType
{
get
{
return this.AsQueryable().ElementType;
}
}
public IQueryProvider Provider
{
get
{
return this.AsQueryable().Provider;
}
}
}
Ancak, kullandığımda StackOverflow
istisnası alıyorum. Sadece List
'i depo olarak kullanabilmek için bu arayüz nasıl doğru şekilde uygulanır?
Kullanımı çok basit
[Test]
public void Test()
{
RepositoryFake<User> users = new RepositoryFake<User>();
users.Add(new User());
List<User> list = (from user in users
where user.Id == "5"
select user).ToList();
Assert.That(list, Is.Empty);
}
İşte istisna screenshot:
"Ama kullandığımda" - bize kodu göster? Bize yığın izini göster? – cdhowie
Ne yapmaya çalışıyorsunuz? En iyi tahminim, biraz sihir beklemektir. Davranış tamamen bekleniyor. – leppie