How to check if a variable is an IEnumerable of some sort

后端 未结 9 779
一生所求
一生所求 2021-02-01 12:47

basically I\'m building a very generic T4 template and one of the things I need it to do is say print variable.ToString(). However, I want it to evaluate lists and

9条回答
  •  挽巷
    挽巷 (楼主)
    2021-02-01 13:16

    You have already accepted an answer however,since generic IEnumerable implements the non generic IEnumerable you can just cast to that.

    // Does write handle null? Might need some sanity aswell.
    
    var enumerable = variable as System.Collections.IEnumerable; 
    
    if (enumerable != null)
        foreach(var item in enumerable)
             Write(item);
    else
        Write(item);     
    

提交回复
热议问题