使用反射创建空数组

Create empty array using reflection

如何创建反射给定类型的空数组?我试过使用 Activator.CreateInstance(Type) 方法:

Type arrayType = typeof(string[]);
Activator.CreateInstance(arrayType);

但我得到一个 MissingMethodException 异常:

System.MissingMethodException: No parameterless constructor defined for this object.

我做错了什么?

有些类型你必须捕获并处理特殊的,对于你的情况你会使用:

if ( type.IsArray){
  var o = Array.CreateInstance(type, size);
}