Ich habe eine abstrakte Klasse A als meine Basisklasse, von der Klasse B herleitet. Wie kann ich die set
von DrawingType
Eigenschaft in der Unterklasse B außer Kraft setzen.außer Kraft setzt gesetzt Teil einer Eigenschaft von der Basis abstrakter Klasse in der Unterklasse C#
public abstract class A
{
protected DrawingType m_type;
public DrawingType Type
{
get { return m_type; }
set { m_type = value}
}
}
public B : A
{
// I want to override the 'set' of DrawingType property here.
}
1) Ihre 'A' Klasse verwenden kann doesn keine Implementierung haben‘ t schauen sehr abstrakt von seiner Deklaration, 2) Die Eigenschaft ist 'Type', nicht' DrawingType', 3) Markieren Sie die 'Type' Eigenschaft als' virtual', damit Sie sie überschreiben können. Sie müssen sowohl get und set überschreiben. Du kannst nicht einfach einen auswählen. – itsme86
Alternativ zum Vorschlag von @ itsme86 können Sie auch eine virtuelle Methode erstellen und den Eigenschaften-Setter als privat markieren. Führen Sie dann nur die Einstellung über die virtuelle Methode, die Sie von der Unterklasse überschreiben würden, nur eine Alternative, die erste Lösung vor. .. – CodexNZ
@CodexNZ Danke, eigentlich ist das so, wie ich es gerade mache. – Vahid