Nosso aplicativo VB.net para maiores de 15 anos tem vários Dictionary(Of Integer, <some object type>)
. Exemplos incluem Dictionary(Of Integer, Accounts)
e Dictionary(Of Integer, Users)
.
Gostaria de escrever um método auxiliar genérico para retornar as chaves como uma string separada por vírgula. Isso parece mais difícil do que imaginei.
O aplicativo é multiplataforma e o Linq não está disponível. Se estivesse, eu simplesmente passaria o resultado Integer()
e ToArray
pronto.
Meu pensamento inicial foi usar um método que recebesse Dictionary(Of Integer, Object)
, mas a Dictionary(Of Integer, Accounts)
não é a Dictionary(Of Integer, Object)
. Suspeito que essa seja a solução, mas simplesmente não tenho a sintaxe correta para o segundo tipo?
Também pensei que passar o KeyCollection
(de .Keys
) funcionaria, mas isso retorna um Dicionário do mesmo tipo (o que admito achar surpreendente), então isso não parece ajudar.
Existe uma solução simples aqui?
Você deve ser capaz de usar genéricos para criar um método de extensão sem se preocupar com o tipo dos valores do dicionário, desde que a chave seja um inteiro.
Espero que isso lhe dê o que você quer.
ADVERTÊNCIA
Como não sou um desenvolvedor VB.NET, o código acima foi convertido do C# equivalente, abaixo, usando https://www.codeconvert.ai/csharp-to-vb.net-converter .