我们正在动态构建一些SQL语句,我们正在使用IN运算符。如果我们的值是一组值,那么:
List<Guid> guids = new List<Guid>()
我希望能够为我的子句构建器提供'guids',让它验证类型,如果它是可枚举的,则创建一个如下的子句:
IN ( {Guid1}, {Guid2}, {Guid3} )
检查该值是否为IEnumerable:
if (value is IEnumerable)
当传入一个字符串时,会崩溃(这种情况经常发生:))。验证此类情况的最佳方法是什么?
答案 0 :(得分:7)
怎么样:
if(value .GetType().IsGenericType && value is IEnumerable)
答案 1 :(得分:5)
您可以尝试将value.GetType().IsGenericType
与您的IEnumerable检查结合使用。
答案 2 :(得分:2)
怎么样:
value is IEnumerable<Guid>
如果您期待Guid实例,那就更好了,不是吗?