Pregunta

Tengo una serie de llamadas a la API que están regresando J # tipos de datos. He sido capaz de convertir la mayoría de los tipos de datos (Integer, Boolean, Double, Float, etc) muy bien.

Lo que hay que hacer ahora es convertir un java.util.Collection a una colección VB .NET (ArrayList?)

Aquí está mi intento:

Public Function MakeDotNETCollection(ByVal javaCol As java.util.Collection) As Collection

    Dim dotNetCol As Collection

    If Not javaCol Is Nothing Then
      dotNetCol = New Collection

      Dim it As IEnumerator = javaCol.iterator()

      For Each it In CType(javaCol, Collection)
        dotNetCol.Add(it.Current)
      Next it

    End If

    Return dotNetCol
  End Function

sigo obteniendo un error de ejecución "No se puede convertir objeto de tipo 'AbstractListlistIterator' al tipo 'System.Collections.IEnumerator. ¿Alguna idea?

¿Fue útil?

Solución

No se ha probado, pero debería funcionar:

Public Function MakeDotNETCollection(ByVal javaCol As java.util.Collection) As Collection

  Dim dotNetCol As Collection

  If Not javaCol Is Nothing Then
    dotNetCol = New Collection

    Dim it As java.util.Iterator = javaCol.iterator()

    While it.HasNext()
      dotNetCol.Add(it.next())
    End While

  End If

  Return dotNetCol

End Function
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top