を使用しているとき、私はこれらの2つのインターフェイス持っエラー "インターフェイスメンバを実装していません":継承
public interface IFilterHelper<T>
{
void Filter(ISearchModel<T> model, ref IQueryable<T> dbModel);
}
public interface ISearchModel<T>
{
IQueryable<T> GetDBModel(DbContext db);
}
そして
public class UserSearchModel : ISearchModel<ApplicationUser>
{
public IQueryable<ApplicationUser> GetDBModel(DbContext db)
{
return db.Users.Where(u => true); //something like this
}
}
public class UserFilterHelper : IFilterHelper<ApplicationUser>
{
public void Filter(UserSearchModel model, ref IQueryable<ApplicationUser> dbModel)
{
}
}
は、しかし、私はエラーを取得するこれらの2つの実装を'UserFilterHelper' does not implement interface member 'IFilterHelper<ApplicationUser>.Filter(ISearchModel<ApplicationUser>, ref IQueryable<ApplicationUser>)'
しかし、 UserSearchModel
をISearchModel<ApplicationUser>
に変更すると、正常にコンパイルされます。私はそれをキャストして動作させることができますが、なぜそれが私にエラーを与えるのか知っています。ご覧のとおり、UserSearchModel
クラスはインターフェイスISearchModel<ApplicationUser>
を実装しています。私は何が欠けていますか?
ありがとうございます。あなたの答えを読んだので、私はどこが間違っているかを見ています。再度、感謝します。 –