In C# we have to name the parameters of a method of an interface.
I understand that even if we didn\'t have to, doing so would help a reader understand the meaning,
I don't see any reason that would make this a technical requirement. But I can think of one particularly good reason:
As you mention, the parameter names are not needed when implementing the interface, and can be easily overridden.
However, when using the interface, imagine the difficulty if no parameters had meaningful names! No intellisense, no hints, nothing but a type? Yuck.
This has got to be the biggest reason that a name is always required.