var pt = Type.GetType("<Program>$");
var m = pt.GetMethod("<Main>$", BindingFlags.Static);
// m is null好的,我抓取了Program类,它工作得很好。但是当我去获取Main方法时,系统找不到它,而且它也不在pt.GetMembers()中。到底怎么回事?
发布于 2020-11-23 18:52:34
您只需指定您想要查看非公共成员:
using System;
using System.Reflection;
var pt = Type.GetType("<Program>$");
var m = pt.GetMethod("<Main>$", BindingFlags.Static | BindingFlags.NonPublic);
Console.WriteLine(m); // Prints Void <Main>$(System.String[])同样,使用GetMembers时,您需要指定您想要的公共和非公共成员:
using System;
using System.Reflection;
var pt = Type.GetType("<Program>$");
var flags =
BindingFlags.Public | BindingFlags.NonPublic |
BindingFlags.Instance | BindingFlags.Static;
foreach (var member in pt.GetMembers(flags))
{
Console.WriteLine(member);
}https://stackoverflow.com/questions/64966831
复制相似问题