Posted by: jwalin on: June 2, 2009
Example, but with no error checking:
using System;
using System.Reflection;
namespace Foo
{
class Test
{
static void Main()
{
Type type = Type.GetType(“Foo.MyClass”);
object instance = Activator.CreateInstance(type);
MethodInfo method = type.GetMethod(“MyMethod”);
method.Invoke(instance, null);
}
}
class MyClass
{
public void MyMethod()
{
Console.WriteLine(“In MyClass.MyMethod”);
}
}
}
Each step needs careful checking – you may not find the type, it may not have a parameterless constructor, you may not find the method, you may invoke it with the wrong argument types.
One thing to note: Type.GetType(string) needs the assembly-qualified name of the type unless it’s in the currently executing assembly or mscorlib.