Deeper Reflection: Invoking Functions : Method « Reflection « C# / CSharp Tutorial






using System;
using System.Reflection;

class MainClass
{
    public static void Main(String[] args)
    {
        string aname = "MyClass";
        
        Console.WriteLine("Loading: {0}", aname);
        Assembly a = Assembly.LoadFrom (aname);
        
        foreach (Type t in a.GetTypes())
        {
            if (t.IsClass)
            {
                Console.WriteLine("  Found Class: {0}", t.FullName);
                
                if (t.GetInterface("MyInterface") == null)
                    continue;
                
                object o = Activator.CreateInstance(t);
                
                Console.WriteLine("    Calling Process() on {0}", t.FullName);
            }
        }
    }
}
//File: MyClass.cs
interface MyInterface{

  void MyMethod(int i);
}

class MyClass: MyInterface{
   public void MyMethod(int i){
      Console.WriteLine("i:"+i);
   }
}








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.