zoukankan      html  css  js  c++  java
  • 获取某个类中所有方法并格式化输出

    Get method list

    public List<MethodInfo> StretchAllMethodsThroughClassName(Type classType)
    {
    List<MethodInfo> allMethodsList = new List<MethodInfo>();

    var allMethods = classType.GetMethods().ToList();
    foreach (MethodInfo method in allMethods)
    {
    StringBuilder methodHeader = new StringBuilder();
    methodHeader.Append(String.Format("Public {0} {1}(", method.ReturnType.Name, method.Name));
    foreach (var parameter in method.GetParameters())
    {
    methodHeader.Append(parameter.ParameterType.FullName.ToString() + " " + parameter.Name + ",");
    }
    string method2 = methodHeader.Remove(methodHeader.Length - 1, 1).ToString() + ")";
    }
    allMethodsList=allMethods;
    return allMethodsList;
    }

    Generate XML file

    public void GenerateXMLFile(string xmlFilePath, List<MethodInfo> methodList)
    {
    try
    {
    //初始化一个xml实例
    XmlDocument myXmlDoc = new XmlDocument();
    //创建xml的根节点
    XmlElement rootElement = myXmlDoc.CreateElement("Methods");
    //将根节点加入到xml文件中(AppendChild)
    myXmlDoc.AppendChild(rootElement);
    foreach (MethodInfo method in methodList)
    {

    //初始化第一层的子节点
    XmlElement firstLevelElement1 = myXmlDoc.CreateElement("Method");
    //填充第一层的子节点的属性值(SetAttribute)
    firstLevelElement1.SetAttribute(@"ReturnType", method.ReturnType.Name);
    firstLevelElement1.SetAttribute(@"Name", method.Name);
    //将第一层的第一个子节点加入到根节点下
    rootElement.AppendChild(firstLevelElement1);
    foreach (var parameter in method.GetParameters())
    {
    //初始化第二层子节点
    XmlElement secondLevelElement11 = myXmlDoc.CreateElement(@"Parameter");
    //填充第二层子节点的属性值(SetAttribute)
    secondLevelElement11.SetAttribute("Type", parameter.ParameterType.FullName.ToString());
    //填充第二层子节点的值(InnerText)
    secondLevelElement11.InnerText = parameter.Name.ToString();
    //将第二层的子节点加入到第一层子节点下
    firstLevelElement1.AppendChild(secondLevelElement11);

    }
    //将xml文件保存到指定的路径下
    myXmlDoc.Save(xmlFilePath);
    }
    catch (Exception ex)
    {
    Console.WriteLine(ex.ToString());
    }
    }

  • 相关阅读:
    「疫期集训day11」沙漠
    「树形DP」洛谷P2607 [ZJOI2008]骑士
    「疫期集训day10」玫瑰
    「疫期集训day9」七月
    核心容器(概念)
    初识Spring
    IOC(控制反转思想)原型理论推导
    图片在上,文字在下并且等间距的三个菜单按钮
    编写登陆接口
    001使用gltf创建3d模型
  • 原文地址:https://www.cnblogs.com/Lihao2013/p/3621398.html
Copyright © 2011-2022 走看看