私はこのコードを持っています:
class Program
{
static void Main(string[] args)
{
Action whatToDo = () => {
var member = (MemberInfo)(MethodBase.GetCurrentMethod());
Thread.Sleep(0); //whatever, need something to put a breakpoint on
};
whatToDo();
}
}
それを実行し、watch を使用してmember
参照にバインドされたオブジェクトの内部を調べると、MemberInfo.Name
プロパティに value があることがわかります<Main>b__0
。
これは奇妙に見えます。whatToDo
リフレクションで名前を使用しないのはなぜですか? 1 つのメンバー関数内に同じ署名を持つ複数のアクションがある場合、どのアクションが報告されているかをどのように確認できますか?
リフレクションによってこのような奇妙な名前が返されるのはなぜですか?