开发者

Adding new object to generit List overwrites previous values

I have a problem with a generic list, which consists of intances of a class i created. I am just amazed, each time I add a new object to the list, it overwrites the previous entries. Here is a code sample, i just can't beleive it. I am using visual studio 2010:

Dim translations As List(Of TranslatedValue) = New List(Of TranslatedValue)
If Session("ctlTexts") Is Nothing Then
    Dim reader As IDataReader = DataAccessFunctions.db.GetDataReader("SELECT [ControlID], [ControlTextEN], [ControlTextDE], [ControlTextBG] FROM [dbo].[tbLanguage]", GetConnectionString)

    While reader.Read()
        Dim translationBulgarian As String = String.Empty
        Dim translationGerman As String = String.Empty
        Dim translationEnglish As String = String.Empty
        Dim translationKey As String = String.Empty
        Dim currentLanguageTranslation As String = String.Empty

        If Not reader.IsDBNull(0) Then
            translationKey = reader("ControlID")
        End If
        If Not reader.IsDBNull(1) Then
            translationEnglish = reader("ControlTextEN")
        End If
        If Not reader.IsDBNull(2) Then
            translationGerman = reader开发者_如何学Go("ControlTextDE")
        End If
        If Not reader.IsDBNull(3) Then
            translationBulgarian = reader("ControlTextBG")
        End If

        Select Case CurrentLanguage
            Case Language.Bulgarian
                currentLanguageTranslation = translationBulgarian
            Exit Select
            Case Language.English
                currentLanguageTranslation = translationEnglish
            Exit Select
            Case Language.German
                currentLanguageTranslation = translationGerman
            Exit Select
        End Select

        translations.Add(New TranslatedValue(translationKey, translationEnglish, translationGerman, translationBulgarian, currentLanguageTranslation))
    End While
reader.Close()
Session("ctlTexts") = translations


Fundamentally, you gotta ask yourself: how does the List(of T) know how to compare two TranslatedValues.


I'm so stupid! :) I have declared static private members in my class :) Sorry for bothering you, and thanks for your replies!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜