如何在C#的编译期间遍历泛型类型

时间:2019-03-18 05:47:40

标签: c# generics

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

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

1 个答案:

答案 0 :(得分:1)

这听起来很简单

    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);
        }

    }