Register Eventhandler`1 via late binding
Hello,
I need help in late binding.
I have a simple assembly Option.dll, which defines only two classes:
Collapse | Copy Code
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:
Collapse | Copy Code
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