Avatar billede csharpkoderen Nybegynder
28. marts 2006 - 12:04 Der er 4 kommentarer

Nondestructive copy af streams

Jeg fumler med en metode til kopiering/kloning af streams. Tanken er at bruge den til debugging/logging formål.

Jeg forestillede mig at et metodehoved i retning af

  public MemoryStream CopyStream(ref Stream stream)

hvor metoden så dels returnerede den kopierede stream i form af en memory stream, og dels genskabte indholdet i den originale stream, således at metodekaldet ikke tømmer den originale stream.

Mit nuværende forsøg indebærer kopiering af den oprindelige stream til to memory streams - den ene returneres, den anden skrives tilbage til den oprindelige stream.

Men det ser lidt klumpet ud, og jeg tror der er en mere oplagt måde at gøre det på ?

Thanx :-)
Avatar billede arne_v Ekspert
28. marts 2006 - 14:09 #1
det tror jeg ikke kan lade sig gøre generelt

på streams til filer må den kunne huske position

men jeg tvivler på at .NET klassen har en .Clone method, så du skal nok
wrappe en FileStream i din egen klasse
Avatar billede csharpkoderen Nybegynder
28. marts 2006 - 15:58 #2
Nej, jeg tror også den er til mere end 30 point ;-)

Der er jo forskel på naturen af streams, herunder om de overhovedet tillader at man skriver til dem igen (writable), og som du er inde på også om de accepterer repositionering.

Det er nu ikke til filestreams, mere i forbindelse med network streams etc, hvor man ikke har lokalt råderet over data.

Må gruble videre, eller lade den ligge :-)
Avatar billede arne_v Ekspert
28. marts 2006 - 16:22 #3
jeg kan ikke se at det kan lade sig goere med en network stream
Avatar billede arne_v Ekspert
22. april 2006 - 21:32 #4
tid at få afsluttet her ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester