gpt4 book ai didi

.net - 找不到使用带有 .NET 5 顶级调用的反射的 Main 方法

转载 作者:行者123 更新时间:2023-12-03 21:45:03 26 4
gpt4 key购买 nike

var pt = Type.GetType("<Program>$");
var m = pt.GetMethod("<Main>$", BindingFlags.Static);
// m is null
好的,我捕获 Program类,这工作正常。但是当我去抢 Main方法,系统找不到,不在 pt.GetMembers()任何一个。这是怎么回事?

最佳答案

您只需要指定要查看非公共(public)成员:

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 ,您需要指定您想要的公共(public)和非公共(public)成员:
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);
}

关于.net - 找不到使用带有 .NET 5 顶级调用的反射的 Main 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64966831/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com