Questo può creare un array dinamico:creare dinamicamente un array e impostare gli elementi
Assembly asm = object.GetType().Assembly;
string sTypeName = "Company.Namespace.ClassName";
object arrayWithSize1 = Activator.CreateInstance(asm.GetType(sTypeName), 1);
Ma come impostare il primo elemento della matrice che si crea sopra?