How can I cast an object
to IEnumerable<object>
?
I know that the object implements IEnumerable<object>
but I don't know what type it is. It could be an array, a List<T>
, or whatever.
A simple test case I'm trying to get working:
static void Main(string[] args)
{
object arr = new[] { 1, 2, 3, 4, 5 };
foreach (var item in arr as IEnumerable<object>)
Console.WriteLine(item);
Console.ReadLine();
}
I ran into the same issue with covariance not supporting value types, I had an object
with and actual type of List<Guid>
and needed an IEnumerable<object>
. A way to generate an IEnumerable when just IEnumerable isn't good enough is to use the linq Cast method
((IEnumerable)lhsValue).Cast<object>()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With