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