首页 > 解决方案 > 如何在c#中的编译期间循环遍历泛型类型

问题描述

T在运行时是已知的。但是我想在编译期间将T转换为 IEnumerable 对象类型并循环遍历它。

public void x<T>(T obj) 
{
   //T is IEnumerable<object>
   //how to loop through T on compile time? 
}

标签: c#generics

解决方案


这听起来很简单

    public void x<T>(T obj)
    {
        //T is IEnumerable<object>
        //how to loop through T on compile time? 
        try
        {
            foreach (var item in (IEnumerable)obj)
            {
                // Do what you want
            }
        }
        catch(Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

    }

推荐阅读