Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Ερωτηση για Delegates

Îåêßíçóå áðü ôï ìÝëïò kallileo. Τελευταία δημοσίευση από το μέλος Δημήτρης Γκανάτσιος στις 30-01-2008, 15:02. Υπάρχουν 3 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  30-01-2008, 14:30 39720

    Ερωτηση για Delegates

    Κανω κατι πειραματα με delegates και events...

     

    namespace Delegates

    {

    public class Program

    {

    static void Main(string[] args)

    {

    Exchange ex = new Exchange();

    ex.InvokeDel();

    Console.ReadLine();

    }

    }

    class Exchange

    {

    delegate void myDelegate();

    private myDelegate testDel;


    public void ExchangeRate()

    {


    this.testDel += euros.exchange;

    this.testDel += dollars.exchange;

    }

    public void InvokeDel()

    {

    testDel();

    }

    }

    public class euros

    {

    public static void exchange()

    {

    Console.WriteLine("Euros {0} ", +45 * 1 + "$");

    }

    public void exchange2()

    {

    Console.WriteLine("Euros {0} ", +45 * 1 + "$");

    }

    }

    public class dollars

    {

    public static void exchange()

    {

    Console.WriteLine("Dollars {0}", 45 * 1.3);

    }

    }

    class sterlings

    {

    public static void exchange()

    {

    Console.WriteLine("Sterlings {0}", 45 * 0.73);

    }

    }

    }

    Στον παρακατω κωδικα παιρνω "Object reference not set to an instance of an object.". Γιατι ομως εφοσον εχω κανει instatiation????

  •  30-01-2008, 14:36 39722 σε απάντηση της 39720

    Απ: Ερωτηση για Delegates

    Για άλλαξε τη Main σου ως εξής

    1
    2
    3
    4
    Exchange ex = new Exchange();
    ex.ExchangeRate();
    ex.InvokeDel();
    Console.ReadLine();


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
  •  30-01-2008, 14:42 39723 σε απάντηση της 39722

    Απ: Ερωτηση για Delegates

    Ναι το επιασα τωρα...
     
    Επρεπε να βαλω τα
     
    this.testDel += euros.exchange;

    this.testDel += dollars.exchange;

    στο constructor της κλασης Exchange για αυτο δεν γινονταν το instatiation.

    Θανξ...

    Επανερχομαι με περισσοτερες ερωτησεις...Big Smile

     

  •  30-01-2008, 15:02 39724 σε απάντηση της 39723

    Απ: Ερωτηση για Delegates

    Αν μπορείς μάρκαρε την ενότητα ως επιλυμένη.

    http://www.dotnetzone.gr/cs/content/TermsOfUse.aspx#Γ5 Smile

     


    Dimitris-Ilias Gkanatsios
    Developer Evangelist, Microsoft Hellas

    My Blog
    StudentGuru
    Twitter
    Facebook
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems