Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C#] definire un metodo con parametri opzionali

    In C# come posso fare per scrivere un metodo che abbia parametri di ingresso opzionali? Ad esempio io vorrei fare una cosa del genere:

    codice:
    public void Pippo (string A, int X)
    {
        //tutte le istruzioni
    }
    e vorrei rendere i parametri A e X opzionali. C'è un modo per farlo in C#??

    Thanks
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    C# è un linguaggio della famiglia .NET, che ha un suo apposito sub-forum.


    Ti sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    scusami tanto non me ne sono reso conto..

    C'è qualcuno che mi aiuta?
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  4. #4
    codice:
    public void Pippo (string A="Stringa predefinita", int X=0)
    {
        //tutte le istruzioni
    }
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Originariamente inviato da voyager18
    scusami tanto non me ne sono reso conto..

    C'è qualcuno che mi aiuta?
    fai un overload del metodo che ti interessa...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    grazie con l'overload ho risolto!!
    Lunga vita e prosperità!!
    Usa Mozilla! http://www.mozilla.com

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da MItaly
    codice:
    public void Pippo (string A="Stringa predefinita", int X=0)
    {
        //tutte le istruzioni
    }
    Che io sappia, C# non consente la definizione di parametri opzionali, che si ottengono appunto solo tramite l'overload dei metodi (una pratica che comunque manterrei ridotta al minimo, per quanto possibile).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  8. #8
    Hai ragione, mi confondevo con il C++.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di bubu80
    Registrato dal
    Aug 2002
    Messaggi
    99
    Originariamente inviato da alka
    ...
    appunto solo tramite l'overload dei metodi (una pratica che comunque manterrei ridotta al minimo, per quanto possibile).
    ciao alka,

    volevo sapere più nel dettaglio come mai sconsigli di utilizzare l'overload...


    Non si finisce mai di imparare...

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da bubu80
    volevo sapere più nel dettaglio come mai sconsigli di utilizzare l'overload...
    Non lo sconsiglio, ma diciamo che lo userei in modo parsimonioso.

    Ad esempio, trovo che possa tornare utile nel caso in cui si debba lavorare con un parametro di tipo di dato differente, in modo che venga scelta automaticamente la versione del metodo più adatta, oppure per definire parametri opzionali in "tiratura limitata".

    Per riferirmi ad un caso particolare, onestamente penso sia assurdo creare più di 20 overload diversi del metodo MessageBox.Show, fornendo una rosa così ampia e soprattutto eterogenea di parametri accettati, in termini di numero e tipo diversificato! E' fuorviante e farraginoso quando si deve individuare una versione specifica.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.