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

  • 相关阅读:
    (三)RabbitMQ:客户端开发向导
    (二)RabbitMQ:RabbitMQ相关概念介绍
    (一)RabbitMQ:RabbitMQ初体验
    支付宝手机网站支付接入(沙箱环境)
    vue-cli3.0 的使用
    Windows平台上好用的SSH客户端
    JWT
    cnetos 安装nginx后查找nginx配置文件路径
    centos搭建nginx服务,给某个目录及子目录nginx的读取权限
    windows下mysqldump.exe、mysql.exe导出mysql数据到sql文件
  • 原文地址:https://www.cnblogs.com/Lihao2013/p/3621398.html
Copyright © 2011-2022 走看看