Autor
|
Tema: [SOLUCIONADO] Pequeña duda sobre argumentos (Leído 4,258 veces)
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.809
|
¿Se puede definir más de un tipo por Valor/Referencia por argumento? Necesito hacer algo así: Public Function blablabla(ByRef Image_File As String or As Bitmap) O en su defecto: Public Function blablabla(ByRef Image_File As "Cualquier tipo que séa aceptable") If Image_File = Ctype(string) then... if Image_File = Ctype(Bitmap) then...
|
|
« Última modificación: 17 Enero 2013, 20:47 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Todos los tipos de objetos deberían de implementar la misma interfaz o heredar de la misma base (nada de lo que pones como ejemplo), de lo contrario, para eso se utilizan las sobrecargas Podrías pasar un object, pero no es para nada recomendable, donde vea que comienzas a hacer eso te baneo , en un rato me paso por tu post de snippets para darte unas sugerencias en cuanto a estructura de código Saludos
|
|
« Última modificación: 13 Enero 2013, 18:18 pm por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.809
|
Podrías pasar un object, pero no es para nada recomendable, donde vea que comienzas a hacer eso te baneo ) Pero digo yo que no seré el primero en tener este problemilla xD... ¿Como lo solucionarías tú? Que pocas soluciones hay entonces. PD: gracias! EDITO: en un rato me paso por tu post de snippets para darte unas sugerencias en cuanto a estructura de código perfecto!
|
|
« Última modificación: 13 Enero 2013, 18:31 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Otra alternativa es utilizar generics, pero tampoco aplica para el caso, si vas a utilizar generics no deberías de estar verificando el tipo luego. Pero digo yo que no seré el primero en tener este problemilla xD... ¿Como lo solucionarías tú? Con sobrecargas, tendría dos métodos Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.809
|
Con sobrecargas, tendría dos métodos ¿Me puedes indicar el nombre del término en inglés para buscar información? Me dices sobrecarga y me quedo igual, no consigo asociarlo a nada... sobrecargar un sub/función, ¿eso que leches es? xD.
|
|
« Última modificación: 17 Enero 2013, 20:00 pm por EleKtro H@cker »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
OverloadSobrecargar métodos es tener un método que se llame igual, pero que acepte diferentes parámetros. Function GetWord() As String Function GetWord(ByVal Position As Integer) As String Function GetWord(ByVal Search As String) As String
http://msdn.microsoft.com/en-us/library/ms973896.aspxSaludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.809
|
Gracias. Y el própio intérprete sabe que función debe usar según el tipo de valor con el que lo llames independientemente del nombre, QUE BUENO! Pero yo (que soy muy retorcido y me gusta experimentar situaciones xD), he intentado exprimir el ejemplo de esta manera para ver que pasaba: Function Test(ByVal arg1 As Integer, _ Optional arg2 As Integer = Nothing) MsgBox("A" & arg1) End Function Function Test(ByVal arg1 As Integer, _ Optional arg2 As String = Nothing) MsgBox("B" & arg1) End Function Test(3)
Y no funciona, ¿Si el único parámetro de entrada que cambia es opcional, se puede sobrecargar de alguna manera?
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
¿Creas 3 sobrecargas? Function Test(ByVal arg1 As Integer) Function Test(ByVal arg1 As Integer, _ arg2 As Integer) Function Test(ByVal arg1 As Integer, _ arg2 As String)
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.809
|
'¬¬
I'm stupid.
xD
Saludos.
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Buscate en google las reglas de overloads, ya que en el caso ese que dejaste por ejemplo, que solo se diferencia con un argumento opcional, no se puede, y asi con otras cosas tampoco, por eso te podrias mirar algo para tenerlo en cuenta.
Aprendes rapido Elektro! saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Solucionado] [VBS] Duda sobre los argumentos
« 1 2 »
Scripting
|
SuperDraco
|
14
|
10,778
|
2 Abril 2011, 04:50 am
por SuperDraco
|
|
|
Pequeña duda sobre WMI
Programación Visual Basic
|
ŞCØRPIØN-X3
|
2
|
2,144
|
13 Mayo 2011, 04:58 am
por ŞCØRPIØN-X3
|
|
|
[BATCH] Duda Shift, Y ¿Como saber cuantos argumentos necesito? [Solucionado]
« 1 2 »
Scripting
|
SuperDraco
|
11
|
8,388
|
8 Julio 2011, 23:12 pm
por leogtz
|
|
|
(SOLUCIONADO) Duda sobre clave y argumentos en el regedit
Scripting
|
SuperDraco
|
3
|
4,183
|
8 Julio 2011, 18:09 pm
por SuperDraco
|
|
|
París reaviva argumentos sobre la vigilancia de las comunicaciones
Noticias
|
wolfbcn
|
0
|
946
|
18 Noviembre 2015, 02:23 am
por wolfbcn
|
|