Activator::CreateInstance() possède une surcharge qui accepte un tableau variadic de paramètres (déclaré params object[] en C#) en plus du type.
De plus, il est possible que tu te compliques la vie...