【发布时间】:2012-09-20 21:23:56
【问题描述】:
我想做这样的事情
void DoSomething<T>(T param)
{
if param is IEnumerable<?>
{
loop param and do stuff
}
}
我不知道在问号的位置做什么。这有可能吗?
【问题讨论】:
-
如果
param不是IEnumerable<U>类型,你想做什么?如果不是,为什么不将T限制为IEnumerable<U>类型和where? -
在堆栈溢出帖子中回答 [点击这里][1] [1]:stackoverflow.com/questions/906499/…
-
如果您想限制 T 的类型,请查看我对最近问题的回答:stackoverflow.com/questions/12649349/…。
-
你将如何处理循环中的项目?即使您使用非泛型
IEnumerable实现迭代循环,您也不会有强类型实例。