我有特定的类要传递给方法,我想在方法中使用该类并返回该类的版本。
protected Type [] Convert(ArrayList list, MyPersonalClass)
{
MyPersonalClass[] resArray = (MyPersonalClass[])list.ToArray(typeof(MyPersonalClass));
return resArray;
}
答案 0 :(得分:2)
您希望使用Generics,以便直接转换您的示例:
public T[] Convert<T>(ArrayList list)
{
return (T[])list.ToArray(typeof(T));
}
然后你可以使用它:
Convert<MyPersonalClass>(l);
这样做的问题在于无法保证ArrayList中的对象可以转换为MyPersonalClass
。
相反,您最好使用MyPersonalClass
的通用列表,然后如果需要数组,则可以在其上调用ToArray()
:
List<MyPersonalClass> list = new List<MyPersonalClass>();
list.Add(new MyPersonalClass());
var arr = list.ToArray();