为webapi c创建helppage#

时间:2015-06-01 13:01:50

标签: c# asp.net-web-api

我想在C#中为webapi创建一个帮助页面。我正在使用GetApiExplorerParameterDescriptor.ParameterType.GetProperties()。 一切都很好,但输入是一个复杂类型的列表。然后我得到的输出是列表而不是复杂类型。如何获取web api列表输入的复杂类型。

 foreach (var subProperty in parameter.ParameterDescriptor.ParameterType.GetProperties())
{
    APIEndPointParameter _APIEndPointSubParameter = new APIEndPointParameter(subProperty.Name, "", "", false, subProperty.PropertyType.ToString(), null);
    _APIEndPointParameter.SubParameters.Add(_APIEndPointSubParameter);
}

1 个答案:

答案 0 :(得分:0)

我得到了解决方案。 我得到了列表对象的类型,然后创建了实例。然后使用objInstance.GetType()。GetProperties()来获取类的属性。

 var properties = parameter.ParameterDescriptor.ParameterType.GetProperties();
 var _prop = properties[2];
 Type _objType = _prop.PropertyType;
 object objInstance = Activator.CreateInstance(_objType);

foreach (var subProperty in objInstance.GetType().GetProperties())
  {
      APIEndPointParameter _APIEndPointSubParameter = new APIEndPointParameter(subProperty.Name, "", "", false, subProperty.PropertyType.ToString(), null);
      _APIEndPointParameter.SubParameters.Add(_APIEndPointSubParameter);
   }