43 messaggi dal 06 settembre 2002
Ciao, premetto che io programmo da poco ad oggetti. Ho sempre usato linguaggi di scripting. Ho letto questo articolo per capire cosa sono e come usare i delegates ma non ho capito un gran chè da questo esempio.
Ho trovato un esempio a mio parere molto più chiaro e immediato.
Spero che il buon Daniele non se ne abbia a male, ma spesso chi e' esperto non riesce del tutto a immedesimarsi nelle difficoltà di uno inesperto e quindi tende a scrivere articoli comunque un po' intricati.
Senza offesa quindi spero, vorrei riportare questo meraviglioso esempio che mi ha fatto capire perfettamente cosa sono i delegates:


using System;

// 1. Define delegate.
public delegate double UnitConversion(double from);

class QuickDelegateDemo
{
    // 2. Define handler method.
    public static double FeetToInches(double feet)
    {
        return feet * 12;
    }

    static void Main()
    {
        // 3. Create delegate instance.
        UnitConversion doConversion = new UnitConversion(FeetToInches);

        Console.WriteLine("Feet to Inches Converter");
        Console.WriteLine("------------------------\n");
        
        Console.Write("Please enter feet:  ");
        double feet = Double.Parse(Console.ReadLine());

        // 4. Use delegate just like a method.
        double inches = doConversion(feet);

        Console.WriteLine("\n{0} Feet = {1} Inches.\n", feet, inches);
        Console.ReadLine();
    }
}


Da questo esempio si capisce perfettamente che se io creassi due metodi, anzichè uno come qui, con la stessa firma, potrei decidere a run-time quale dei due chiamare.

Grazie e scusatemi se il post vi sembra superfluo.
Luca

Luca
www.blade-runner.it

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.