如何确定VB.NET中的"对象是IEnumerable"(C#语法)?

Bar*_*lin 2 .net vb.net

我已经看过很多关于如何在C#中执行此操作的帖子,但我在VB中工作并且它们不起作用,我似乎无法让它们进行转换.谁知道这个?C#是这样的:

if (x is IEnumerable)
{

}
Run Code Online (Sandbox Code Playgroud)

我想看看传递给我的函数的对象是否实现了IEnumerable,所以我可以把它当作一个集合来对待它.

我已经尝试过"x Is IEnumerable",VB不允许它在任何地方......它需要一种IEnumerable,例如IEnumerable(Of String).

SLa*_*aks 8

请参阅TypeOf ... Is ...运算符:

If TypeOf obj Is IEnumerable Then
Run Code Online (Sandbox Code Playgroud)


J. *_*hon 7

更好的是,使用TryCast.TryCast运算符

Dim collection As IEnumerable = TryCast(x, IEnumerable)
If collection IsNot Nothing Then
   ' do something
End If
Run Code Online (Sandbox Code Playgroud)

  • 您是否导入了System.Collections命名空间?(或将IEnumerable更改为System.Collections.IEnumerable) (2认同)