C#API生成器

Jar*_*rek 5 .net c# api generator

我有几个DLL文件,我想导出所有公共类与方法名称分隔的方法(导出到html /文本文件或其他任何我可以在Windows操作系统ctrl + c/v :)).

我不想创建文档或将我的dll与xml文件合并.我只需要一个包含所有公共方法和属性的列表.

实现这一目标的最佳方法是什么?

任何答案的TIA

Rob*_*Rob 6

边缘非常粗糙,但尝试这个大小:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace GetMethodsFromPublicTypes
{
    class Program
    {
        static void Main(string[] args)
        {
            var assemblyName = @"FullPathAndFilenameOfAssembly";

            var assembly = Assembly.ReflectionOnlyLoadFrom(assemblyName);

            AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += new ResolveEventHandler(CurrentDomain_ReflectionOnlyAssemblyResolve);

            var methodsForType = from type in assembly.GetTypes()
                                 where type.IsPublic
                                 select new
                                     {
                                         Type = type,
                                         Methods = type.GetMethods().Where(m => m.IsPublic)
                                     };

            foreach (var type in methodsForType)
            {
                Console.WriteLine(type.Type.FullName);
                foreach (var method in type.Methods)
                {
                    Console.WriteLine(" ==> {0}", method.Name);
                }
            }
        }

        static Assembly CurrentDomain_ReflectionOnlyAssemblyResolve(object sender, ResolveEventArgs args)
        {
            var a = Assembly.ReflectionOnlyLoad(args.Name);
            return a;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:这需要改进以排除属性getter/setter和继承方法,但它是一个不错的起点