是否可以更改整个数组的类型,例如,我有:
object[] array;
我想要:
MyObject[] array;
数组仅包含 MyObject 类型的项目,但我只能将其视为对象 [] 类型,如果我不想通过反射将此数组保存到我的对象,这不会是问题,如下所示:
class MyArrayObject
{
public MyObject[] objects {get; set;}
}
因此,如果我使用反射--MyArrayObject.GetType().GetProperty("objects").SetValue(array)
我会得到异常,因为如果object[]
类型不是数组MyObject[]
-是否可以更改数组的类型,以便我可以通过反射将其添加到所需的属性?
我object[]
没有MyObject[]
数组的原因是,我想将新项目添加到数组中,所以我需要调整它的大小或放入列表 - 然后它更改为 object[] 数组并不总是 MyObject[] 类型 - 它可以是 MyObject2、MyObject3 ..任何东西 - 我也通过反射得到它 - 所以问题是将项目添加到动态指定类型的数组中。谢谢!