Я пытаюсь понять код IL и внутренние компоненты С#, особенно в настоящее время, я написал простую программу приветствия мира на С#, код которой:
using System;
class Program
{
public static void Main()
{
Console.WriteLine("Hello World");
}
}
и вот IL, сгенерированный для конструктора класса Program
:
.method public hidebysig specialname rtspecialname
instance void .ctor() cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: ldarg.0
IL_0001: call instance void [mscorlib]System.Object::.ctor()
IL_0006: ret
} // end of method Program::.ctor
Я не могу понять, в чем смысл и назначение specialname и rtspecialname или какая от них польза?