Хорошо, вот метод в стиле фанк, который дает вам гибкий способ активировать тип по массиву параметров:
static object GetInstanceFromParameters(Assembly a, string typeName, params object[] pars)
{
var t = a.GetType(typeName);
var c = t.GetConstructor(pars.Select(p => p.GetType()).ToArray());
if (c == null) return null;
return c.Invoke(pars);
}
И вы называете это так:
Foo f = GetInstanceFromParameters(a, "SmartDeviceProject1.Foo", "hello", 17) as Foo;
Таким образом, вы передаете сборку и имя типа в качестве первых двух параметров, а затем все параметры конструктора по порядку.