Re: Using Classes as List Items

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



I think your Part1 Set Property has a typo it should be writting to _Part1
not _Part2


<zacks@xxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:1138209259.882883.152120@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
I have written a serialized class that has several properties that are
typed as a list of type class. When I deserialize an XML file, the list
is populated just fine. But I am having trouble manually loading the
class for serialization when the class has not been initialized by a
deserialize. If I add three instances of a class to the list, each with
different values for their properties, the XML file created by
serialization has three items for that property, but the values in all
three are the same values, the values of the last class added to the
list. I have tried a test of this that merely loads up a list of
classes in a class that is not being serialized and dump the property
values with the same result. Any ideas?

Sample code:

My custom class to be listed:

Public Class clsItem

Private _Part1 As String
Private _Part2 As String

Public Property Part1() As String
Get
Return _Part1
End Get
Set(ByVal value As String)
_part2 = value
End Set
End Property

Public Property Part2() As String
Get
Return _Part2
End Get
Set(ByVal value As String)
_Part2 = value
End Set
End Property

End Class

Code to load up the list and dump it:

Dim myItem As New clsItem
Dim myItems As New List(Of clsItem)
Dim i As Integer = 1

myItem.Part1 = "This is Part 1 the First Item in the List"
myItem.Part2 = "This is Part 2 the First Item in the List"
myItems.Add(myItem)
myItem.Part1 = "This is Part 1 the Second Item in the List"
myItem.Part2 = "This is Part 2 the Second Item in the List"
myItems.Add(myItem)
myItem.Part1 = "This is Part 1 the Third Item in the List"
myItem.Part2 = "This is Part 2 the Third Item in the List"
myItems.Add(myItem)
For Each myItem In myItems
Debug.WriteLine("Item Number " & CStr(i))
Debug.WriteLine("Part1 = " & myItem.Part1)
Debug.WriteLine("Part2 = " & myItem.Part2)
i += 1
Next

The output:

Item Number 1
Part1 =
Part2 = This is Part 2 the Third Item in the List
Item Number 2
Part1 =
Part2 = This is Part 2 the Third Item in the List
Item Number 3
Part1 =
Part2 = This is Part 2 the Third Item in the List

Notice that the first property called Part1 never gets any value.



.



Relevant Pages

  • Zweite Bootpartition - Windows bleibt hängen
    ... Auf Part1 habe ich in dieser Konfiguration Windows XP pro installiert, ... Wenn ich nun Part2 active visible setze und dafür Part1 auf hidden, ...
    (microsoft.public.de.german.windowsxp.setup)
  • msg.attach multiple attachments and passing vars to html
    ... Can I do multiple attachments in order via msg.attach as so; ... I desire to attach part1, part2 and part3 in that order. ... Where USRNM and PASS are python vars but the rest is an html based email. ...
    (comp.lang.python)
  • Re: Subdividing a large PowerPoint show
    ... delete the second half of the slides. ... On Menu.ppt, create a few buttons or whatever and to them, add hyperlinks to Part1 and Part2. ... You can use the menu slide as a kind of outline so your audience can see the major points you're going to ...
    (microsoft.public.mac.office.powerpoint)
  • Re: XP Registry
    ... What have happened is that for the configuration described, ... program added to Part1, has the same entry copied to Part2, and the same ... > The major hives and their files are as follows: ...
    (microsoft.public.windowsxp.basics)
  • Re: Using Classes as List Items
    ... you only have a single instance of clsItem. ... Public Sub New(part1 As String, part2 As String) ... | serialization has three items for that property, ...
    (microsoft.public.dotnet.languages.vb)