Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# .NET Dynamics
Hello,
 
I need help in late binding.
 
I have a simple assembly Option.dll, which defines only two classes:
    public class Option
    {
        public event EventHandler<OptionEventArgs> OnBought;
 
        public void Buy()
        {
            Console.WriteLine("Buying option...");
 
            if (OnBought != null)
                OnBought(this, new OptionEventArgs("Successfully bought!", 120.50));
        }
    }
 
    public class OptionEventArgs : EventArgs
    {
        public string Message { get; set; }
        public double Lots { get; set; }
 
        public OptionEventArgs() { }
        public OptionEventArgs(string message, double lots)
        {
            Message = message;
            Lots = lots;
        }
    }
 
In the client app, I load an assembly dynamically and use late binding to activate the Option type, but I don't know how to register the OnBought event.
 
Is there any way to register it ?
Here is the client app's Main method:
        static void Main(string[] args)
        {
            Assembly asm = null;
 
            try
            {
                asm = Assembly.Load("Option");
 
                Type option = asm.GetType("Option.Option");
                dynamic opt = Activator.CreateInstance(option);
 
                //now i want to register OnBought event...
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            
            Console.ReadLine();
        }
 
Thank you
Posted 14-Mar-13 22:40pm
Edited 14-Mar-13 22:59pm
(no name)113.6K
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Mathew Soji 274
1 BillWoodruff 270
2 Afzaal Ahmad Zeeshan 244
3 Sergey Alexandrovich Kryukov 240
4 Raul Iloc 160
0 OriginalGriff 6,219
1 Sergey Alexandrovich Kryukov 5,853
2 DamithSL 5,103
3 Manas Bhardwaj 4,549
4 Maciej Los 3,845


Advertise | Privacy | Mobile
Web04 | 2.8.1411019.1 | Last Updated 15 Mar 2013
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100