gpt4 book ai didi

c# - 如何将 Object 转换为 List

转载 作者:太空狗 更新时间:2023-10-29 17:36:09 29 4
gpt4 key购买 nike

我正在尝试制作一个可以接受任何对象的通用方法,其中,即使对象是 List<AnyClass> .像这样的东西:

public static void MyMethod(object _anyObject)
{

}

所以在我的方法中它接受参数为Object,然后我会根据它们的类型来决定要做什么

所以当我知道这是一个列表类型时,我想将该对象转换回 List<AnyClass> , 迭代每个对象及其属性

我尝试过:

List<object> ObjectList = object as List<object>;

但它会返回null , 因为对象原来是 List<AnyClass>

提前致谢

================

编辑:抱歉,好像我没说清楚,因为我简化了问题...我的意思是对象可能是:

_anyObject = List<Class1>
_anyObject = Class2
_anyObject = DataSet
_anyObject = AnyClass
_anyObject = List<object>

也就是说,用户甚至可以输入 List<object> , 但该列表中的每个对象都可以是不同的类..这就是为什么我不能使用 <T> .

我的问题的原点是:

public static void MyMethod(List<object> _anyList)
{

}

然后我不管他们往列表里放了什么,即使列表中的对象包含另一个对象列表...

最佳答案

通用的 List 类实现了非通用的 IList 接口(interface),所以你可以说:

IList objectList = obj as IList;

但是,您尝试做的事情通常被认为是不好的做法,因为它消除了类型安全的任何表象。如果您解释在什么情况下使用它,我们可能会建议更好的替代方法,例如使用通用方法。

关于c# - 如何将 Object 转换为 List<MyClass>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5251915/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com