如何将Object转换为List <MyClass>?

Kin*_*ing 9 c#

我试图创建一个可以接受任何对象的泛型方法,其中甚至是对象List<AnyClass>.就像是:

public static void MyMethod(object _anyObject)
{

}
Run Code Online (Sandbox Code Playgroud)

所以在我的方法中它接受参数作为Object,然后我将确定他们的类型要做什么

因此,当我知道这是一个List类型时,我想将该Object转换回来List<AnyClass>,将每个对象及其属性进行转换

我试着这样做:

List<object> ObjectList = object as List<object>;
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

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

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

_anyObject = List<Class1>
_anyObject = Class2
_anyObject = DataSet
_anyObject = AnyClass
_anyObject = List<object>
Run Code Online (Sandbox Code Playgroud)

所以说,用户甚至可以放入一个List<object>,但该列表中的每个对象都可以是不同的类.这就是我无法使用的原因<T>.

我的问题的原始是:

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

}
Run Code Online (Sandbox Code Playgroud)

然后我不在乎他们放入列表中的内容,即使列表中的对象包含另一个对象列表......

Str*_*ior 13

通用List类实现非通用IList接口,因此您可以说:

IList objectList = obj as IList;
Run Code Online (Sandbox Code Playgroud)

但是,您尝试做的事情通常被认为是不好的做法,因为它消除了任何类型安全的外观.如果你在使用这个的上下文中解释,我们可能会建议一个更好的选择,比如使用泛型方法.