0

Ich möchte eine byte[] in einen Stream konvertieren und diese Funktion als eine Extension-Methode haben, wie ich dies Hunderte Male durchführen muss.Wie gebe ich einen Stream von einer Extension-Methode zurück, ohne den Destruktor zu zerstören?

using(MemoryStream m = new MemoryStream()) { 
    ProtoBuf.Serializer.Serialize(m, fiveHundredBytesHere); 
    m.Seek(0, 0); 
} 

Was ist der richtige Weg, meinen Code aus dieser repetitiven Aktion zu bereinigen?

+0

Sie nicht. Wenn Sie den Stream später verwenden müssen, verwenden Sie nicht das 'using'-Konstrukt und Dispose selbst. – ManoDestra

Antwort

3

"Wie kann ich einen Stream von einer Extension-Methode zurückgeben, ohne den Destructor zu beschädigen?"

Sie können entweder einen Rückruf in der Methode erstellen, die Ihren Stream verwendet, die den Destruktor nicht aufbrechen würde, oder die using-Anweisung weglassen und den Stream zurückgeben und im aufrufenden Code entsorgen.

+0

eine Callback-Methode wäre eine schreckliche Wahl. –

Verwandte Themen