基本上,我需要使用LINQ将ParameterInfo[]
数组转换为RouteValueDictionary
。
我从ParameterInfo[]
对象(通过反射)获取MethodInfo
数组,通过调用obj.GetParameters()
,我需要一个RouteValueDictionary
对象。
我尝试了这个,但不幸的是它无法正常工作:
new RouteValueDictionary(obj.GetParameters().Select(r => new { r.Name = r.DefaultValue }))
答案 0 :(得分:2)
RouteValueDirectory
有一个构造函数,可以获取字典并且:
初始化RouteValueDictionary类的新实例,并添加指定集合中的元素。
因此,使用linq的ToDictionary
来构建字典,然后使用匹配的构造函数:
new RouteValueDictionary(obj.GetParameters().ToDictionary(key => key.Name,
value => value.DefaultValue }))