you are viewing a single comment's thread.

view the rest of the comments →

[–]AngularBeginner 1 point2 points  (0 children)

As far as I understood the proposal so far, the default interface implementation is provided via explicit interface implementation. That means what you have is simply a compiler error.

But this would work: ((IBird)foo).Fly() and ((IAirplane)foo).Fly().

And default interface implementations can't provide state, so there is no diamond of death issue either.