Meh*_*taş 4 c# arrays reflection types reflection.emit
我想在运行时获得一个类型的"数组类型".我不需要数组的实例,只需要Type.我目前使用以下方法.
private Type GetArrayType(Type elementType)
{
return Array.CreateInstance(elementType, 0).GetType();
}
Run Code Online (Sandbox Code Playgroud)
没有创建数组实例有没有更好的解决方案?
注意:我无法使用,Type.GetType(elementType.FullName + "[]")因为我在运行时创建了元素类型Reflection.Emit.根据MSDN,它需要将动态组件保存在磁盘上,我不想这样做.
是的,你可以使用Type.MakeArrayType.
返回表示当前类型的一维数组的Type对象,其下限为零.
private Type GetArrayType(Type elementType)
{
return elementType.MakeArrayType();
}
Run Code Online (Sandbox Code Playgroud)