Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2009, 17:02
Avatar de Bazookao
Bazookao
 
Fecha de Ingreso: diciembre-2008
Ubicación: Mexico
Mensajes: 139
Antigüedad: 15 años, 5 meses
Puntos: 1
Pregunta Sobrecargando operadores VB. NET

hola tengo:
Código VB.NET:
Ver original
  1. public class clase1
  2. '''atributos y otros metodos
  3.      Public Shared Operator +(ByVal primero As clase1, ByVal segundo As clase1) As Object' lo tengo komo objet por que puede regresar un objeto de clase1 o de clase 2
  4.             if primero=segundo then
  5.                dim nVar as new clase1()
  6.                ''otras operaciones a la nuevo objeto
  7.                return nVar
  8.            else
  9.               dim otroObjeto as new clase2
  10.               ''otras operaciones a la nuevo objeto
  11.               return otroObjeto
  12.    end operator

todo esta bien cuando hacia mis pruebas
decia maso menos
Código VB.NET:
Ver original
  1. dim a as new clase1
  2. dim b as new clase1
  3. dim resultado as new clase2
  4. resultado=a+b'aqui esta bien por que los dos son diferentes
  5. ' por lo tanto regresa un objeto clase2
  6.  
  7.  
  8. 'pero se me ocurrio ponerle
  9. resultado=a+a
  10. ' como son iguales me manda un objeto clase1
  11. ' y me da un error de que clase1 no se puede convertir en clase2
  12. ' No se controlo InvalidCastExcepction
  13.  
  14.  
  15. 'asi que puse por lo mientras
  16. Try
  17.       resultado = a + a
  18.    Catch ex As Exception
  19.        b=a+a        
  20. End Try
  21.  
  22. 'pero no puedo star poniendo esto en cada uso de la suma de objetos clase1
  23. 'por que aveces es obligatorio que se  objeto clase2
  24. 'y en otros casos que se de clase1

que puedo hacer
como puedo hacer que "adivine" que si se va guardar el resultado en un objeto de clase1, mande un clase1 y si es de clase2 mande clase2

ayuda

de antemano gracias