Just nu i M3-nätverket
Gå till innehåll

VB.NET


Artem Los

Rekommendera Poster

Skulle någon kunna förklar hur den här koden funkar!

Det är något med fort att göra.

 

Tack i förhand!

 

Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary
Public Class Form1
Friend Class SerializeSomething(Of T)


       Friend Function SerializeFontObject(ByVal oObject As T) As String
           Dim bf As New BinaryFormatter
           Dim mem As New MemoryStream

           Try
               bf.Serialize(mem, oObject)
               Return Convert.ToBase64String(mem.ToArray())
           Catch
               Return String.Empty
           Finally
               mem.Close()
           End Try
       End Function

       Friend Function DeserializeFontObject(ByVal sString As String) As T
           Dim bf As New BinaryFormatter
           Dim mem As New MemoryStream(Convert.FromBase64String(sString))

           Try
               Return DirectCast(bf.Deserialize(mem), T)
           Finally
               If Not mem Is Nothing Then
                   mem.Close()
               End If
           End Try

       End Function
   End Class
End Class

 

Länk till kommentar
Dela på andra webbplatser

Den första metoden serialiserar ett objekt av typen T till en memorystream, konverterar strömmen till en array (av Byte) och returnerar denna array.

 

Den andra metoden tar denna array som indata, konverterar den till en memorystream, deserialiserar den till ett objekt av typen T samt returnerar detta objekt.

 

Länk till kommentar
Dela på andra webbplatser

Skulle du kunna visa ett exempel hur man kan ha användning as den här koden

 

[inlägget ändrat 2009-08-15 02:34:46 av Anjuna Moon]

Länk till kommentar
Dela på andra webbplatser

Artem Los - vad är det du försöker göra? Inte fel att fråga när man har frågor, det är helt rätt, men jag börjar undra, med tanke på dina frågor, om du gett dig in i något utan att ta reda på grunderna först.

 

Dvs du kanske ska titta över en grundkurs i hur man programmerar i .Net (VB.Net)?

 

Men det ska sägas, att koden du länkat till i senaste inlägget är kanske inte enklaste att greppa, inte helt fundamentalt exakt vad den gör, vad den vill ta för argument.

 

Men du, gör såhär:

1: Implementera klassen.

2: Gå igenom de olika kommandona.

3: Skapa ett objekt, ett font-objekt exempelvis.

4: Anropa SerializeFontObject(object) med ditt font-objekt

5: Undersöka resultatet, använd det som inargument till DeserializeFontObject(string).

 

 

men som Anjuna skrivit. SerializeFontObject serialiserar ett objekt, dvs gör om det till ett format som går att spara ned i exempelvis en XML-fil. Deserialize tar denna sträng och gör om den till ett identiskt objekt som det som en gång har serialiserats.

 

Läs mer om serialisering exempelvis här:

http://www.vbdotnetheaven.com/UploadFile/psingh/ObjectSerializationVbDotNet04202005014407AM/ObjectSerializationVbDotNet.aspx

http://www.devcity.net/Articles/113/dotnet_serialization.aspx

http://www.thescarms.com/dotnet/serializeable.aspx

http://www.google.se/search?q=serialize+vb.net

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

 

[inlägget ändrat 2009-08-15 09:13:41 av Monshi]

Länk till kommentar
Dela på andra webbplatser

Skulle du kunna tipsa en bra nybörjarbok om vb.net. Jag går i åttan och tänker att söka till datalinje. Jag vill börja lära mig programmera på egen hand.

 

Tack!

 

Länk till kommentar
Dela på andra webbplatser

Kanske då ta små steg.

 

VB.Net är ett ganska bra val tror jag. Kan inte språket själv direkt men dess förfader Visual Basic och dess syskon C# är bekanta.

 

Men oavsett språk, det första man behöver lära sig är hur man programmerar. Detta är helt oberoende av språket man sedan skriver i. Man måste lära sig hur man ska tänka, hur man ska dela upp uppgifter, hur man skapar funktioner, anropar osv.

 

Min rekommendation är enkel. Gå till närmsta bibliotek och se vad de har samt sök på nätet efter en tutorial/guider. Det brukar finnas en del.

Hittar exempelvis denna:

http://www.java2s.com/Tutorial/VB/CatalogVB.htm

eller denna bok

http://www.freeprogrammingresources.com/visual-basic-net.html

den ser faktiskt ganska trevlig ut

 

Samt börja med små projekt, små saker.

 

 

/T

 

Even when we know we´ll never find the answers, we have to keep on asking questions.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...