Отражатель - отличный способ сделать это.
Перейдите в «Просмотр» / «Параметры» / «Оптимизация» и выберите «Нет», чтобы он не пытался понять, каким был C # изначально.
Например, метод Main
этого небольшого приложения:
using System;
class Test
{
static void Main()
{
string other = "hello";
Foo (x => new { Before = other + x, After = x + other });
}
static void Foo<T>(Func<int, T> func) {}
}
декомпилируется в:
private static void Main()
{
<>c__DisplayClass1 class2;
class2 = new <>c__DisplayClass1();
class2.other = "hello";
Foo(new Func<int, <>f__AnonymousType0<string, string>>(class2.<Main>b__0));
return;
}
и затем вы смотрите в <>c__DisplayClass1
и <>f_AnonymousType0
для более подробной информации и т. Д.