I just decompiled some 3rd-party interface and scratched my head about the following:
public interface IFoo
{
string Name { get; set; }
}
public interface IBar : IFoo
{
new string Name { get; set; }
}
As you can see I have two interfaces, where IBar
extends IFoo
by hiding its Name
-property. However I can´t see what the new
-keyword is doing here. I read an answer from Eric Lippert that relates to members that solely differ on their return-type. However in my case everything is just a string.
Of course we could explicitely implement either of the interfaces. But that would be possible without new
anyway.