Visualizzazione dei risultati da 1 a 7 su 7

Discussione: funzioni overloads

  1. #1
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116

    funzioni overloads

    Esiste un modo di semplificare la scrittura di funzioni overloads come da esempio?
    codice:
        '--------------------------------------------------------------
        'Stampa una stringa con separatore riga
        '--------------------------------------------------------------
        Public Overloads Sub PrintLn(ByVal x$)
            This.Response.Write(x & "
    ")
        End Sub
        Public Overloads Sub PrintLn(ByVal x%)
            PrintLn(x.ToString)
        End Sub
        Public Overloads Sub PrintLn(ByVal x&)
            PrintLn(x.ToString)
        End Sub
        Public Overloads Sub PrintLn(ByVal x#)
            PrintLn(x.ToString)
        End Sub
        Public Overloads Sub PrintLn(ByVal x As Object)
            PrintLn(x.ToString)
        End Sub

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Se fai riferimento sempre ad Object dovrebbe accettarti tutto:
    codice:
    Public Sub PrintLn(ByVal x)
    PrintLn(x.ToString)
    End Sub
    Ma forse non ho capito bene il risultato che vuoi ottenere.

    Ciao
    'Alchimista'

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Volevo ottenere quello che in c si chiama funzione modello (template). Credo che non esista in basic.
    Grazie, Pietro

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Avevo commesso un errore:
    codice:
    Public Sub PrintLn(Object x)
    PrintLn(x.ToString)
    End Sub
    Lo stesso effetto non puoi ottenerlo con la dichiarazione di "interfaccia"?

    Ciao
    'Alchimista'

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da Alchimista
    Avevo commesso un errore:
    codice:
    Public Sub PrintLn(Object x)
    PrintLn(x.ToString)
    End Sub
    Lo stesso effetto non puoi ottenerlo con la dichiarazione di "interfaccia"?

    Ciao
    'Alchimista'

    Non è che potresti farmi un esempio?

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    204
    Ciao,
    scusa, avevo inteso male :bubu: l'uso dell'interfaccia nel tuo caso non è utile visto che è un modo per la rappresentazione dei dati e/o funzioni verso l'esterno.

    La funzione modello come potevi farla in C non è possibile direttamente in vb (se qualcuno sa come sarei felice pure io di conoscere come )

    Rileggendo il tuo esempio, tu vorresti che a qualsiasi tipo di parametro passato venga sempre eseguito il metodo di base o sbaglio?

    Potresti *forzare* la conversione dell'oggetto nel generico Object:
    codice:
    '--------------------------------------------------------------
        'Stampa una stringa con separatore riga
        '--------------------------------------------------------------
        Public Overloads Sub PrintLn(x as Object)
            This.Response.Write(x & "
    ")
        End Sub
        Public Overloads Sub PrintLn(x as string)
            PrintLn(Ctype(x,Object))
        End Sub
        Public Overloads Sub PrintLn(x as integer)
            PrintLn(Ctype(x,Object))
        End Sub
        Public Overloads Sub PrintLn(x as double)
            PrintLn(Ctype(x,Object))
        End Sub
        End Sub
    Altro non mi viene in mente ora
    Ciao
    'Alchimista'

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.