2010-07-15 6 views
0

내가 만든 클래스의 intances로 구성된 제네릭 목록에 문제가 있습니다. 나는 단지 깜짝 놀랐다. 목록에 새 객체를 추가 할 때마다 이전 항목을 덮어 쓴다. 여기에 코드 예제가 있습니다. 단지 그것을 믿을 수 없습니다. 난 비주얼 스튜디오 2010 사용하고 있습니다 : (T의) 목록을 수행하는 방법이 TranslatedValues을 비교하는 방법을 알고 : 기본적으로생성하는 새 개체 추가 목록 이전 값을 덮어 씁니다.

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("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 

답변

1

을, 당신은 스스로에게 물어 야지.

+1

내게는 사전 (Of T)을 사용하는 것이 더 낫다고 들었습니다. – GregC

+0

어떻게 영향을 미칩니 까? – sloth

+0

@dkson - Dictionary (Of T)는 각 항목이 일부 키로 고유해야합니다. 적어도 충돌이 있는지 알려줄 것입니다. –

0

나는 너무 바보 야! :) 내 수업에서 정적 개인 회원을 선언했습니다 :) 당신을 귀찮게해서 미안해하고 답장을 보내 주셔서 감사합니다!

관련 문제