揭示C#词汇表的范围

using System.Reflection;

Assembly? assembly = Assembly.GetExecutingAssembly();
if (assembly == null) return;

//循环访问此应用程序引用的程序集
foreach (AssemblyName name in assembly.GetReferencedAssemblies())
{
    //加载程序集,以便我们可以读取其详细信息
    Assembly a = Assembly.Load(name);

    //声明一个变量来计算方法的数量
    int MethodCount = 0;

    //循环遍历程序集中的所有类型
    foreach (TypeInfo t in a.DefinedTypes)
    {
        //将方法的数量相加
        MethodCount += t.GetMethods().Count();
    }

    //输出类型及其方法的计数
    Console.WriteLine
        (
        "{0:N0} type with {1:N0} methods in {2} assembly.",
        arg0: a.DefinedTypes.Count(),
        arg1: MethodCount, arg2: name.Name
        );
}

这里显示的类型和方法的数量会根据使用的操作系统而有所不同。