Если у вас есть доступный linq, вы можете легко получить массив типов, соответствующих объектам, но я не совсем уверен, что это поможет в вашей конечной цели.
var types = args.Select(arg => arg.GetType()).ToArray();
Вы намерены проверить массив объектов на наличие типов, а затем проверить сигнатуру метода и попытаться сопоставить их соответствующим образом?