Serializacia – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Serializacia – .NET – Fórum – Programujte.comSerializacia – .NET – Fórum – Programujte.com

 

Pedro0
Stálý člen
27. 1. 2007   #1
-
0
-

Co vlastne robi?? pozeral som priklady na msdn, videl som serializovane kolekcie, ale este stale nejak neviem pochopit naco ta serializacia sluzi

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
DeaLer+2
Hero
27. 1. 2007   #2
-
0
-

Instance, které při programování vytvoříš mají poměrně krátkou životnos - když na ně nevede žádná reference, tak je GC zlikviduje. Když potřebuješ uchovat instanci delší dobu, v takovém případě je vhodné instanci seralizovat - dojde k převedení instance na Stream a uložení na nějaké presistentní úložiště (soubor, db). Klidně můžeš takovou instanci poslat na jiné PC. Opačným krokem je desrializace.

Ještě bych mohl popsat xml serializaci, ale ta ve své podstatě dělá totéž, ale řekl bych, že je nejvhodnější pro kolekce (musí to umožňovat) - dojde k uložení obsahu do xml souboru a následně je možné ho načíst zpět.

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Pedro0
Stálý člen
27. 1. 2007   #3
-
0
-

cize lubovolny objekt mozem serializovat, ulozit do suboru, a pri dalsiom spusteni programu ho zas nacitat do programu a deserializovat .. ak som to spravne pochopil ...

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
DeaLer+2
Hero
27. 1. 2007   #4
-
0
-

Pochopil jsi to v podstatě správně. Jde to jen pokud je typ označen jako Serializable nebo pokud implementuje rozhraní ISerializable (pokročilejší způsob, který si kdyžtak dohledej na netu). Jinak jsi už určitě zjistil, že serializace a deserializace se provadí prostřednictvím typu BinaryFormatter.

/// <summary>

/// Serializovatelná třída
/// </summary>
[Serializable]
public class Trida
{
// zbytek tridy
}

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Pedro0
Stálý člen
27. 1. 2007   #5
-
0
-

alebo este SoapFormatter ale nepochopil som aky je medzi nimi rozdiel ..
To ako sa to robi uz sa da bez problemov vygooglovat, ale z prikladov mi nebolo celkom jasne naco to je..

Nahlásit jako SPAM
IP: ...–
Vsetci ste blazni, to len ja som lietadlo
DeaLer+2
Hero
27. 1. 2007   #6
-
0
-

JJ ... SoapFormatter se dá taky použít, ale ten ti to v podstatě serializuje do XML, ale nevím přesně k čemu to ve výsledku je - dá se předpokládat, že je vhodný ho nějak použít při práci se SOAP a webovými službami.

Nahlásit jako SPAM
IP: ...–
Dušan Janošík | web: djanosik.cz, @djanosik
Tocimanko0
Grafoman
27. 4. 2007   #7
-
0
-

Zastavam nazor, ze najlepsie sa uci zo zdrojakov... Tu je jeden... Ak najdete chybu, prosim opravte ma :) dik....



Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Dim obj As New ArrayList
obj.Add("a")
obj.Add("b")
obj.Add("c")
Dim Instancia As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim str As New System.IO.FileStream("C:\Ulozisko.dat", IO.FileMode.Create)
Instancia.Serialize(str, obj)
str.Close()
End Sub
Sub Me_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Me.Click
Dim bfg As New ArrayList
Dim Instancia As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
Dim nieco As New System.IO.FileStream("C:\Ulozisko.dat", IO.FileMode.OpenOrCreate)
bfg = Instancia.Deserialize(nieco)
For Each Polozka As String In bfg
MsgBox(Polozka.ToString)
Next
End Sub


Skus si ho a mozno uplne pochopis, na co sluzi serializacia :-) Ako vidis zvolil som subor typu *.dat . Ktovie preco...... :-))

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 12 hostů

Podobná vlákna

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý