• 获取某个类中所有方法并格式化输出


    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());
    }
    }

  • 相关阅读:
    Django---分页器
    Django——模板层(template)(模板语法、自定义模板过滤器及标签、模板继承)
    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
    python web框架简介Bottle Flask Tornado
    [C#] 谈谈异步编程async await
    MYSQL分库分表总结
    win10 IIS 10.0 无法安装 URL Rewrite Module 重写模块
    Quartz.NET文档 入门教程
    SignalR web实时同步 消息推送 广播
    C#模拟http 发送post或get请求
  • 原文地址:https://www.cnblogs.com/Lihao2013/p/3621398.html
Copyright © 2020-2023  润新知