Frage

Ich habe einige Funktionen hier, dass beispielsweise definiert werden als

private int WriteLogikParameterTyp(FileStream filestream)

, die ich nicht ändern kann. Ich mag, dass sie in ein Memorystream-Objekt schreiben. Ist das möglich?

War es hilfreich?

Lösung

Nein.

Filestream ist eine konkrete Umsetzung.

Aber es ist eine private Methode sollte so einfach genug sein, zu ändern, da Sie alle internen Anwendungen finden können? Vorschlagen ersetzen Methodensignatur mit Strom statt Filestream.

Nun ja ... wenn Sie eine tempory-Datei erstellen, schreiben Sie es dann in den Speicher gelesen.

Andere Tipps

Da Sie können nicht die Funktion Signatur ändern, um eine generische Art zu akzeptieren .. Ich würde vorschlagen, in eine temporäre Datei zu schreiben und dann den Inhalt in einen Memorystream-Instanz zu lesen.

Nein.

Wenn Sie keinen Zugang zu ihnen haben, Sie Reflektor nutzen könnten, um herauszufinden, wie sie funktionieren und implementieren Sie Ihre eigene Version für einen Memorystream. Ob dies legal ist eine andere Sache ...

Nein. Filestream keinen Konstruktor verfügbar machen, die aufgerufen werden können, so dass Sie nicht davon, um erben kann es zu emulieren.

Vorschlag;

Benennen Sie die Methode wie folgt

private int WriteLogikParameterTyp_Ex(Stream stream);

Dann die eigenhändige Unterschrift neu dergleichen;

private int WriteLogikParameterTyp(FileStream filestream)
{
     return WriteLogikParameterTyp_Ex(filestream);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top