Event reflection

In this chapter you will learn:

  1. Get event from Type

Get event from Type

using System;//j a va2s.co m
using System.Reflection;
using System.Windows.Forms; 

public class Class1
{
    static void Main( string[] args )
    {
      Type type = typeof(MyClass);
      object o = Activator.CreateInstance(type);
      
           EventInfo eventInfo = type.GetEvent("Changed");
      eventInfo.AddEventHandler(o, new EventHandler(Class1.OnChanged));
           ((MyClass)o).Text = "New Value";
    }
    private static void OnChanged(object sender , System.EventArgs e)
    {
      Console.WriteLine(((MyClass)sender).Text);
    }
}
public class MyClass
{
  private string text;
  
  public string Text
  {
    get{ return text; }
    set
    { 
      text = value;
      OnChanged(); 
    }
  }
  
  private void OnChanged()
  {
    if( Changed != null )
      Changed(this, System.EventArgs.Empty); 
  }
  
  public event EventHandler Changed;
}

Next chapter...

What you will learn in the next chapter:

  1. How to do Indexer reflection
Home » C# Tutorial » Reflection
Reflection
Type
Type properties
Field reflection
Field Type
Field Attributes
FieldHandle
Field value
Set Field value
delegate reflection
Event reflection
Indexer reflection
Properties Reflection
Method
Parameter
Invoke
Type Instantiating
interface reflection
Generic type reflection
Reflection on nested Types
Subtype
Array reflection
Assembly