Müssen die XMLWriter-Methode überschreiben

Ich muss die XMLWriter-Methode "WriteElementString" überschreiben, um das Element nicht zu schreiben, wenn der Wert leer ist. Der folgende Code hat nicht funktioniertüberschreiben undNeu Schlüsselwörter, aber es geht immer noch um die Framework-Methode.

public static void WriteElementString(this XmlWriter writer,
                                      string localName,
                                      string value)
{
    if (!string.IsNullOrWhiteSpace(value))
    {
        writer.WriteStartElement(localName);
        writer.WriteString(value);
        writer.WriteEndElement();
    }
}

Die Antwort war nah, aber die richtige Lösung lautet:

public abstract class MyWriter : XmlWriter
{
    private readonly XmlWriter writer;
    public Boolean skipEmptyValues;

    public MyWriter(XmlWriter writer)
    {
        if (writer == null) throw new ArgumentNullException("Writer");
        this.writer = writer;
    }

    public new void WriteElementString(string localName, string value)
    {
        if (string.IsNullOrWhiteSpace(value) && skipEmptyValues)
        {
            return;
        }
        else
        {
            writer.WriteElementString(localName, value);
        }
    }
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage