Что было ясно от куда такой вопрос: после продолжительного опыта работы на vb.net (как моего первого языка), относительно недавно у меня появилась необходимость, а главное - возможность осваивать с# (от версии 7.0) При этом, имея опыт работы с JavaScript, особых сложностей с освоением синтаксиса c# у меня не возникло. Безусловно, пока еще постоянно провожу аналогии с vb.net, поскольку мне часто не хватает очень многих его особенностей, поддержка которых отсутствует в с# априори. И вот, об одной такой особенности я хотел бы спросить у знатоков.
На vb.net определен такой интерфейс:
'''<summary>Определяет объект, являющийся элементом перечисления</summary>
'''<typeparam name="T">Тип идентификатора для элемента перечисления</typeparam>
Public Interface IEnum(Of T)
'''<summary>Идентификатор элемента перечисления</summary>
ReadOnly Property ID As T
'и так далее...
End Interface
В реализации этого интерфейса, свойству
ID
я могу присвоить другое имя, которое по семантически более близко для данной конкретной реализации и выглядеть это будет так:
'''<summary>Отрасль промышленности</summary>
Public NotInheritable Class Industry : Implements IEnum(Of Byte)
'''<summary>Код отраслевого направления</summary>
Public ReadOnly Property Code As Byte Implements IEnum(Of Byte).ID
'и так далее...
End Class
или так, уже в другой реализации:
'''<summary>Сфера деятельности</summary>
Public NotInheritable Class Employment : Implements IEnum(Of Integer)
'''<summary>Тип сферы деятельности</summary>
Public ReadOnly Property Type As Integer Implements IEnum(Of Integer).ID
'и так далее...
End Class
Как, определив такой же интерфейс на c#, я могу в классах его реализующих использовать другое имя для свойства (в данном случае для свойства
ID
)?