Invoke member method with created instance from reflection : Method « Reflection « C# / CSharp Tutorial






using System;
using System.Reflection;
using System.Globalization;
  class Class1
  {
    DateTime[] dateTimes = new DateTime[10];
    public DateTime this[int index]
    {
      get{ return dateTimes[index]; }
      set{ dateTimes[index] = value;}
    }
    
    
    private DateTime dateOfBirth;
    public DateTime DateOfBirth
    {
        get{ return dateOfBirth; }
        set{ dateOfBirth = value; }
    }
      
    public void Test()
    {
      Console.WriteLine("Test method called");
    }
    
    
    private string field;
    
    public string Property
    { 
      get{ return field; }
      set{ field = value; }
    }
    
  }


    class MainClass{
    
    static void Main(string[] args)
    {
      Type type = Type.GetType("Class1");
      object o = Activator.CreateInstance(type);
      
      type.InvokeMember("Test", BindingFlags.InvokeMethod,null, o, new object[]{});
      
      // Using a ConstructorInfo
      ConstructorInfo constructorInfo = type.GetConstructor(new Type[]{});
        
      o = constructorInfo.Invoke(new object[]{});
      
      type.InvokeMember("Test", BindingFlags.InvokeMethod,null, o, new object[]{});
      
      // Type.InvokeMember
      o = type.InvokeMember("Class1", BindingFlags.CreateInstance, null, null, new object[]{});
      
      type.InvokeMember("Test", BindingFlags.InvokeMethod,null, o, new object[]{});

    }
    }








19.5.Method
19.5.1.Deeper Reflection: iterate through the methods of the class
19.5.2.Deeper Reflection: Invoking Functions
19.5.3.Invoke methods using reflection
19.5.4.List Methods
19.5.5.Obtain the metadata tokens
19.5.6.Inspecting a method's body
19.5.7.Dynamically Invoking A Method
19.5.8.Finding Particular Members
19.5.9.Call string method with reflection and Expression
19.5.10.Invoke member method with created instance from reflection
19.5.11.Use reflection to invoke methods
19.5.12.Use DefinePInvokeMethod method to create a PInvoke method.
19.5.13.Get the method that matches the specified binding flags.