Ответ 1
Я не думаю, что GetMethod
сделает это, нет, но GetConstructor
будет.
using System;
using System.Reflection;
class Addition
{
public Addition(int a)
{
Console.WriteLine("Constructor called, a={0}", a);
}
}
class Test
{
static void Main()
{
Type type = typeof(Addition);
ConstructorInfo ctor = type.GetConstructor(new[] { typeof(int) });
object instance = ctor.Invoke(new object[] { 10 });
}
}
EDIT: Да, Activator.CreateInstance
тоже будет работать. Используйте GetConstructor
, если вы хотите больше контролировать вещи, узнать имена параметров и т.д. Activator.CreateInstance
отлично, если вы просто хотите вызвать конструктор.