我正在尝试执行以下类型转换:
private void MyMethod(object myObject)
{
if(myObject is IEnumerable)
{
List<object> collection = (List<object>)myObject;
... do something
}
else
{
... do something
}
}
但我总是遇到以下异常:
无法将类型为 'System.Collections.Generic.List1[MySpecificType]' 的对象强制转换为类型为 'System.Collections.Generic.List
1[System.Object]' 的对象。
我真的需要这个方法能够非常通用地接收未指定类型的单个对象和集合。这可行吗,还是有其他实现方式?
谢谢。
IEnumerable
),是Items.As<IEnumerable>()?.Cast<object>() ?? Enumerable.Empty<object>()
,它的意思是:如果列表实现了IEnumerable
并且结果不为空,则将这个泛型对象列表作为一个对象列表获取;否则,只获取一个空的对象枚举。 - user1618054