Comment puis-je hériter d'une propriété dans C# à partir d'une interface et donner à cette propriété un autre nom dans la classe?C# Question d'héritage de propriété
Par exemple:
public interface IFoo
{
int Num {get;set;}
}
public class IFooCls : IFoo
{
int Ifoo.Num{get;set}
}
Dans ce cas, ce que le nom de la propriété dans l'interface est également la même dans la classe. Ce que je veux c'est donner un autre nom de propriété sur la classe mais en pointant toujours sur "Num" dans l'interface dans ce cas. En VB, nous pouvons le faire comme ceci:
Public ReadOnly Property UserId() As String Implements System.Security.Principal.IIdentity.Name
Get
Return _userId
End Get
End Property
Peut-être en expliquant exactement ce que vous voulez faire, vous pouvez obtenir de meilleurs conseils, car comme @Oded l'a dit, cela va à l'encontre de ce que l'héritage est –
ok, ce que je voulais vraiment c'est, j'ai besoin d'implémenter System.Security.Principal. IIdentité. Il a une propriété de nom. Mais je faisais une classe d'identité personnalisée, et je voulais que la propriété Name de cette classe soit changée en UserID à la place. –
En VB, nous pouvons le faire comme le code ci-dessus. Existe-t-il un moyen simple de faire le code vb ci-dessus dans C#. Je sais que nous pouvons avoir du travail dans celui-ci en ajoutant d'autres biens comme ce que @Igor Zevaka posté ci-dessous. –