Shell   27-06-2023, 15:05
#1
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 ?. Sad

¿ 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

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.