Welcher Datentyp soll das denn sein bzw. werden?
Bzw, was willst Du eigentlich mit CoverArtData später machen?
Streams in Memory rumschleppen ist eher doof. Wenn Data das eigentliche Bild enthalten soll, würde ich gleich das Image-Objekt was Du eh schon hast dort platzieren, und gar nicht lange rumfackeln.
Wenn es Dir nur um die Daten geht, um sie z.B. später in eine Datenbank zu packen, würde ich ein Byte[] empfehlen. Das würdest Du dann so füllen:
Code:
using (BinaryReader br = new BinaryReader(BitmapStream))
{
CoverArtData.Data = br.ReadBytes(s.Length);
}
Aber mal Grundsätzlich: Das, was Du da hast, ist nicht wirklich was, was man in C# so bauen würde.
Es gibt so schöne Databinding-Ansätze in WPF, und man könnte das so schön
Unit-Testbar bauen, das Laden und Auswerten der Image-Daten in eine separate Klasse auslagern (Single Responsibility Principle), etc.
Was willst Du am Ende haben?