我有Object[] array1
,我只知道元素类型
Type t = MyClass;
如何获得动态基本类型的数组,如typeof(MyClass[])
?
编辑:
我找到了:
Type type = ReferenceTypeComponent.GetReferenceObjectType(tItem);
Array destinationArray = Array.CreateInstance(type, oList.Length);
Array.Copy(oList, destinationArray, oList.Length);
答案 0 :(得分:0)
你可以使用List<>然后使用Linq进行类型转换。
List<Object> ListOfObjects = MyListOfObject; // Which contains List<Objects>
List<Type> parsedList = ListOfObjects.Cast<Type>().ToList();
编辑:以下是一个关于如何在不了解班级类型时创建通用函数的示例
public static List<T> GetList<T>(int anyParameters)
{
var results = new List<T>();
var item = Activator.CreateInstance<T>();// Item here is the type of T
// DO whatever processing is to be done on Item.
results.Add(item);
}
答案 1 :(得分:0)
如何获得动态基类型的数组?
数组的基本类型为object[]
。期。你可以放任何东西。您可以在索引1上放置string
,在索引1上放置一个int
。当然,您可以遍历所有值并获取其类型,但应尽可能防止这种情况。
如果您不想以不可靠的方式行事,则必须使用类型化的列表类型,例如MyType[]
或List<MyType>
。