Альтернатива или обходной путь для OrderedDictionary, чтобы избежать ошибки дублирования ключа - PullRequest
0 голосов
/ 17 апреля 2020

Я использую функцию для возврата OrderedDictionary и заполнения раздела PDF, но мне нужно включить дубликаты ключей, так как они являются текстами меток. Есть ли способ замаскировать обманщиков или лучший способ сделать это, который не суетиться с обманщиками?

    Private Shared Async Function GetSiteSpecificStaging(MDTID As String, Optional cSite As String = Nothing) As Task(Of OrderedDictionary(Of String, String))
            Using con = New SqlConnection(ConnectionString),
                com = con.CreateCommand
                com.CommandType = CommandType.StoredProcedure
                com.CommandText = "GetPrintStagingData"
                com.CommandTimeout = 600
                con.Open()
                com.Parameters.AddWithValue("@MDTID", MDTID)

                Using r = Await com.ExecuteReaderAsync().ConfigureAwait(False)
                    If r.Read Then
                        Return New OrderedDictionary(Of String, String) From {
                            {"Reported Date", r("StageReportDate1").ToString.NullIfNotDate?.ToShortDateString},
                            {"Reporting Organisation", r("StageReportOrg1").ToString},
                            {"Chang Stage", r("Chang").ToString},
                            {"INRG Staging System", r("INRG_DESC").ToString},
                            {"Biopsy Gleason", FormatGleason(r("BiopsyGleason1").ToString, r("BiopsyGleason2").ToString)},
                            {"Reported Date", r("StageReportDate2").ToString},
                            {"Reporting Organisation", r("StageReportOrg2").ToString}
                        }
                    Else
                        Return New OrderedDictionary(Of String, String)
                    End If
                End Using
            End Using
        End Function
...