Frage

Ich habe eine Codevorlage, die Dateien im Ordner eines Projekts erstellt und die in den Teilklassen definierten Eigenschaften verwendet, um festzustellen, welche Eigenschaften noch implementiert werden müssen. Als Beispiel:

public partial class Thingy : IThingy
{
    public Foo Bar { get; set; }
}

public interface IThingy
{
    Foo Bar { get; set; }
    Baz Biz { get; set; }
}

Und die Vorlage soll erzeugen:

public partial class Thingy
{
    Baz Biz { get; set; }
}

Ich kann garantieren, dass die Vorlage die verbleibenden Informationen generiert, um die Erwartungen der Schnittstelle zu erfüllen und somit sogar in der Lage zu sein, die Klasse zu generieren, mit Ausnahme der CSHARPCodeProvider-Bilanz bei der Vorstellung, nur die Hälfte der Schnittstelle im nicht generierten Teil implementieren zu lassen Klasse. Gibt es eine Möglichkeit, dem Anbieter zu sagen, er solle ignorieren, dass überhaupt eine Schnittstelle implementiert wird?

BEARBEITEN: Ich habe dies ein wenig mehr darüber nachgedacht und eine Problemumgehung in Form des tatsächlichen Lesens der Quelle zuerst in eine Zeichenfolge, das Entfernen der Schnittstellenreferenzen und das Werfen der Codezeichen CompileAssemblyFromSource Anstatt von CompileAssemblyFromFile, aber das fühlt sich super kludgy an und wird höchstwahrscheinlich Fehler einführen. Gedanken?

War es hilfreich?

Lösung

Ich denke, Sie müssen die Quelle ändern, um Schnittstellenimplementierungserklärung zu entfernen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top