【问题标题】:Convert ParameterInfo[] to RouteValueDictionary via LINQ通过 LINQ 将 ParameterInfo[] 转换为 RouteValueDictionary
【发布时间】:2018-02-25 16:33:59
【问题描述】:

基本上,我需要使用 LINQ 将 ParameterInfo[] 的数组转换为 RouteValueDictionary

我通过调用obj.GetParameters()MethodInfo 对象(通过反射)获取ParameterInfo[] 数组,我需要一个RouteValueDictionary 对象。

我试过这个,但不幸的是它不起作用:

new RouteValueDictionary(obj.GetParameters().Select(r => new { r.Name = r.DefaultValue }))

【问题讨论】:

    标签: c# asp.net-mvc linq asp.net-mvc-5


    【解决方案1】:

    RouteValueDirectory 有一个获取字典的构造函数,并且:

    初始化 RouteValueDictionary 类的新实例并添加指定集合中的元素。

    因此使用 linq 的ToDictionary 构成字典,然后匹配构造函数:

    new RouteValueDictionary(obj.GetParameters().ToDictionary(key => key.Name, 
                                                              value => value.DefaultValue }))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多