Est-il possible de faire quelque chose comme ça?Est-il possible d'ajouter un accesseur à une propriété dans .NET en le remplaçant?
class A
{
public virtual string prop
{
get
{
return "A";
}
}
}
class B: A
{
private string X;
public override string prop
{
get
{
return X;
}
set
{
X = value;
}
}
}
C'est, la classe de base fournit une propriété virtuelle avec seulement un accesseur GET, mais la classe enfant l'emporte sur l'EEG et fournit également un ensemble.
L'exemple actuel ne compile pas, mais il me manque peut-être quelque chose ici.
Ajouté: Pour clarifier, non je ne veux pas redéfinir avec de nouveaux. Je veux ajouter un nouvel accesseur. Je sais que ce n'était pas dans la classe de base, donc cela ne peut pas être annulé. OK, laissez-moi essayer d'expliquer à quoi cela ressemblerait sans le sucre syntaxique:
class A
{
public virtual string get_prop()
{
return "A";
}
}
class B: A
{
private string X;
public override string get_prop()
{
return X;
}
public virtual string set_prop()
{
X = value;
}
}
Re l'édition - la réponse simple est non: vous ne pouvez pas. –
Modifiez ceci dans votre réponse et je l'accepterai. :) –