c# - 如何从作为对象获取的 IList<> 中获取项目计数?

标签 c# generics reflection casting ilist

在一个方法中,我得到一个 object .

在某些情况下,这 object可以是 IList “某事”(我无法控制这个“某事”)。

我正在尝试:

  1. 识别这个对象是一个 IList (某事)
  2. object进入“IList<something> ”以获得 Count

现在,我陷入困境并寻找想法。

最佳答案

您可以使用 is 检查您的 object 是否实现了 IList

然后您可以将您的对象转换为IList以获取计数。

object myObject = new List<string>();

// check if myObject implements IList
if (myObject  is IList)
{
   int listCount = ((IList)myObject).Count;
}

关于c# - 如何从作为对象获取的 IList<> 中获取项目计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000322/

相关文章:

c# - 为什么通用类型定义实现的接口(interface)会丢失类型信息?

c# - 在 C# 中使用 if 语句检查表是否存在?

c# - 计数函数调用

c# - 缓存值类型 c#

java - 确定表达式的结果类

java - 通过反射更改最终变量,为什么静态和非静态最终变量之间存在差异

c# - Microsoft Graph - .NET SDK - OneDrive 大文件上传(大小 > 4MB)

c# - 如何创建 XPS 文档?

java - Java 中的泛型,使用通配符

c# - 检查 List<T> 日期的最快方法