Buenas!.
Se que se ha hablado alguna vez. Pero ahora no lo encuentro.
En su día hice una clase que extendía la clase collection , el problema fue que dio error, método de clase mal sobre escrita o algo parecido.
Lo que no puedo asegurar es si el método no existía y luego fue añadido en el editor de Gambas.
Esta es la nueva clase collection. Un trozo de la misma. Donde veis el método Keys2, se llamaba antes Keys.
Y por eso daba error.
Código:
Inherits Collection
Private clavevalor As New Collection
Private valorclave As New Collection
Public Sub _new(diccionario As Collection)
clavevalor = diccionario
End
Public Function Keys2() As String[] ''Devuelve todas las llaves de la colección en un array
Dim claves As New String[]
Dim v As String
For Each v In clavevalor
claves.Add(clavevalor.Key)
Next
Return claves
End
Para hacerlo funcionar tuve que renombrarlo.
Ahora os propongo este problema.
Imaginar que heredáis de una clase nativa y añadís un método que "no existe", pero con el tiempo el editor de Gambas crea otro que se llama igual.
¿ Saben lo que significa eso ?.
¿ Es posible averiguar si el método ya existe antes en el editor y en caso contrario usar el personalizado ?.
Creo que sí. Pero significa que antes de usar "cada" método personalizado, debe consultarse si existe uno similar. ( No veas que rollo ).
Saludos