.NET SDK уже содержит то, что вам нужно.Если вы осторожны, вы можете использовать все, что угодно в CLR, путем разборки / повторной сборки (ildasm.exe и ilasm.exe).Обязательно запустите «Командную строку Visual Studio», чтобы эти инструменты были в вашей переменной PATH.
1) ildasm person.exe
2) Файл -> Дамп (person.il)
3) Отредактируйте и измените метод get_Name (): ВАЖНО: При изменении метода на уровне IL всегда пересчитывайте .maxstack , поскольку компиляторы Visual Studio .NET установят его точно длябольшинство методов, если вы добавляете какой-либо код, вызывают .maxstack для обработки максимального количества значений в стеке выполнения для этого метода, если нет, вы получите недопустимую программу.
.method public hidebysig specialname instance string get_Name() cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor() = ( 01 00 00 00 )
// Code size 11 (0xb)
.maxstack 2
.locals init (string V_0)
IL_0000: ldarg.0
IL_0001: ldfld string Person::'<Name>k__BackingField'
IL_0006: stloc.0
IL_0009: ldloc.0
IL_000a: ldstr "IL code inserted here"
call void [mscorlib]System.Console::WriteLine(string)
IL_001a: ret
} // end of method Person::get_Name
4)собрать: ilasm person.il