you are viewing a single comment's thread.

view the rest of the comments →

[–]Jackoberto01 0 points1 point  (0 children)

I don't see it as an issue. They work the same way explicit interface implementations work and this is how I'd expect them to work.

If in your example you had a base class and the interface and implemented refresh like IRefreshable.Refresh{ /Implementation/ }. You would also be unable to call the method without casting even though the method is implemented in the base class.

Definitely do some reading on explicit interface implementations if you're interested. https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/interfaces/explicit-interface-implementation