Click here to Skip to main content
11,720,321 members (80,259 online)
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 21:40pm
Edited 14-Mar-13 21:59pm
(no name)140.2K
v2

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

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 2,029
1 OriginalGriff 844
2 F-ES Sitecore 640
3 Maciej Los 609
4 Richard MacCutchan 540


Advertise | Privacy | Mobile
Web01 | 2.8.150901.1 | Last Updated 15 Mar 2013
Copyright © CodeProject, 1999-2015
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