我有一个名为propertyValue
的对象传递到我的函数中。
我可以假设这是某种类型的IEnumerable
,但由于接口合同,我必须将其作为object
接受,而不是直接作为IEnumerable
。
当我尝试将我的值强制转换为IEnumerable<object>
,以便获取长度时,我会收到InvalidCastException
。
var length = ((IEnumerable<object>) propertyValue).Cast<object>().Count();
我遇到了以下异常:
System.InvalidCastException: 无法将类型为“System.String”的对象强制转换为类型“System.Collections.Generic.IEnumerable`1[System.Object]”。
Count()
扩展方法,必须使用泛型IEnumerable<T>
。@VadimMartynov - Jakub LortzIEnumerable
上,没有Count()
的扩展方法。要使用该方法,我必须将其转换为某种类型的IEnumerable<T>
。 - James Monger