The "does not implement interface member" error when using inheritance

Alireza Noori

I have these 2 interfaces:

public interface IFilterHelper<T>
{
    void Filter(ISearchModel<T> model, ref IQueryable<T> dbModel);
}

public interface ISearchModel<T>
{
    IQueryable<T> GetDBModel(DbContext db);
}

And these 2 implementations

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)
    {
    }
}

However I get the error 'UserFilterHelper' does not implement interface member 'IFilterHelper<ApplicationUser>.Filter(ISearchModel<ApplicationUser>, ref IQueryable<ApplicationUser>)'

But when I change UserSearchModel with ISearchModel<ApplicationUser>, it compiles successfully. I know I can cast it and get it to work but why does it give me that error. As you can see the UserSearchModel class implements the interface ISearchModel<ApplicationUser>. What am I missing?

Enigmativity

The interface explicitly requires ISearchModel<ApplicationUser> and even though UserSearchModel implements ISearchModel<ApplicationUser> it isn't the only one that could. I could create a class SuperUserSearchModel that also would implement the same interface.

So trying to write public void Filter(UserSearchModel model, ref IQueryable<ApplicationUser> dbModel) means you are restricting the implementation of the interface.

To make it work you would have to design your interface like this:

public interface IFilterHelper<T, R> where R : ISearchModel<T>
{
    void Filter(R model, ref IQueryable<T> dbModel);
}

public class UserFilterHelper : IFilterHelper<ApplicationUser, UserSearchModel>
{
    public void Filter(UserSearchModel model, ref IQueryable<ApplicationUser> dbModel)
    {
    }
}

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Error: Does not implement interface member

From Dev

Error: Does not implement interface member

From Dev

Error when upgrading to WebAPI 2.1 XmlDocumentationProvider does not implement interface member GetDocumentation

From Dev

Error 1: does not implement interface member

From Dev

Xamarin jar binding error: Class does not implement interface member

From Dev

"Class does not implement interface member" error on class implementing a generic interface

From Dev

Does not implement interface member issues

From Dev

Class does not implement interface member

From Dev

Does not implement interface member MVC

From Dev

Fighter class does not implement interface member

From Dev

Inheritance leads to error when using reference class

From Dev

'Data.Repository.UnitofWork' does not implement interface member 'Data.Repository.IUnitofWork.Customer'

From Dev

Shared.CellItem' does not implement interface member 'System.IDisposable.Dispose()

From Dev

Error serializing XML on REST API when using generic types and inheritance

From Dev

MRO error in PyQt5 when using multiple inheritance

From Dev

Error When Configuring Inheritance In SQLAlchemy

From Dev

First Post! Error using inheritance with header files

From Dev

Error message while using inheritance in java

From Dev

error in inheritance c++ using swig

From Dev

Error message while using inheritance in java

From Dev

QMetaObject::invokeMethod: No such method when using inheritance

From Dev

$injector not working when using angular inheritance

From Dev

Swift Generics will not instantiate generic when using inheritance

From Dev

`NotRegistered` Exception when using multiple inheritance

From Dev

$injector not working when using angular inheritance

From Dev

Inheritance issue when using super() (Python)

From Dev

How to avoid re-using code when using inheritance in Java?

From Dev

Multiple inheritance in Python - error when invoking __init__

From Dev

Using model inheritance and encounting by non-nullable field error

Related Related

  1. 1

    Error: Does not implement interface member

  2. 2

    Error: Does not implement interface member

  3. 3

    Error when upgrading to WebAPI 2.1 XmlDocumentationProvider does not implement interface member GetDocumentation

  4. 4

    Error 1: does not implement interface member

  5. 5

    Xamarin jar binding error: Class does not implement interface member

  6. 6

    "Class does not implement interface member" error on class implementing a generic interface

  7. 7

    Does not implement interface member issues

  8. 8

    Class does not implement interface member

  9. 9

    Does not implement interface member MVC

  10. 10

    Fighter class does not implement interface member

  11. 11

    Inheritance leads to error when using reference class

  12. 12

    'Data.Repository.UnitofWork' does not implement interface member 'Data.Repository.IUnitofWork.Customer'

  13. 13

    Shared.CellItem' does not implement interface member 'System.IDisposable.Dispose()

  14. 14

    Error serializing XML on REST API when using generic types and inheritance

  15. 15

    MRO error in PyQt5 when using multiple inheritance

  16. 16

    Error When Configuring Inheritance In SQLAlchemy

  17. 17

    First Post! Error using inheritance with header files

  18. 18

    Error message while using inheritance in java

  19. 19

    error in inheritance c++ using swig

  20. 20

    Error message while using inheritance in java

  21. 21

    QMetaObject::invokeMethod: No such method when using inheritance

  22. 22

    $injector not working when using angular inheritance

  23. 23

    Swift Generics will not instantiate generic when using inheritance

  24. 24

    `NotRegistered` Exception when using multiple inheritance

  25. 25

    $injector not working when using angular inheritance

  26. 26

    Inheritance issue when using super() (Python)

  27. 27

    How to avoid re-using code when using inheritance in Java?

  28. 28

    Multiple inheritance in Python - error when invoking __init__

  29. 29

    Using model inheritance and encounting by non-nullable field error

HotTag

Archive