Я понимаю, что класс, который наследуется от другого класса, может скрыть свойство с помощью ключевого слова new
. Это, однако, скрывает конкретную реализацию свойства, поэтому я могу видеть, как его можно использовать.
Есть ли какая-либо практическая причина, чтобы скрыть элементы интерфейса, которые реализуют другие интерфейсы? Например, рассмотрим пример ниже. IChildInterface
реализует IParentInterface
и скрывает PropertyA
.
interface IParentInterface
{
string Name { get; set; }
int PropertyA { get; set; }
int PropertyB { get; set; }
}
interface IChildInterface : IParentInterface
{
int PropertyA { get; set; }
int PropertyC { get; set; }
}