Je voudrais avoir plusieurs versions d'un objet avec des modificateurs d'accès différents sur les propriétésC# Modificateurs d'accès avec l'héritage
Par exemple, je pourrais avoir un utilisateur classe-
public abstract class UserInfo
{
internal UserInfo()
{
}
public virtual int ID { get; set; }
public virtual string Password { internal get; set; }
public virtual string Username { get; set; }
}
public class ReadUserInfo : UserInfo
{
internal ReadUserInfo()
{
}
override public int ID { get; internal set; }
override internal string Password { get; set; }
override public string Username { get; internal set; }
}
public class NewUserInfo : UserInfo
{
internal NewUserInfo()
{
ID = -1;
}
//You get the Idea
}
Est-ce quelque chose que je peut mettre en œuvre ou dois-je contrôler l'accès d'une manière plus programmatique?
Je dois mentionner que le code ci-dessus donne un « Impossible de modifier les modificateurs d'accès lors de la substitution « pubienne » hérité membre ... Erreur –
Qu'est-ce que vous –
Je suis d'accord avec Nader: déclarer une propriété publique dans une classe de base, puis la cacher dans une classe dérivée est juste Je chercherais une nouvelle approche du problème, peut-être qu'une interface implémentée par certaines classes et pas par d'autres résoudra votre problème – ScottS