Писал код по примеру из книги "Эндрю Троелсон - язык программирования С# 5.0 и платформа .NET 4.5" (стр. 637-639).
При попытке скомпилировать CIL-код выдаёт ошибку: error : syntax error at token 'ldarg.0' in: ldarg.0
Код писал на Visual Studio Code. Либо я что-то не так делаю или не так компилирую, либо в коде что-то не то. Помогите маслёнку
Мой код:
.assembly extern mscorlib{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
.ver 4: 0:0:0
}
.assembly extern System.Windows.Forms{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89 )
.ver 4:0:0:0
}
.assembly CILCars{
.ver 1:0:0:0
}
.module CILCars.dll
.namespace CILCar
{
.class public auto ansi beforefieldinit CILCar
extends [mscorlib]System.Object
{
.field public string petName
.field public int32 currSpeed
.method public hidebysig specialname rtspecialname
instance void .ctor(int32 c, string p) cil managed
{
.maxstack 8
ldarg.0
call instance void [mscorlib]System.Object::.ctor
ldarg.0
ldarg.1
stfld int32 CILCars.CILCar::.currSpeed
ldarg.0
ldarg.2
stfld string CILCars.CILCar::petName
ret
}
}
.class public auto ansi beforefieldinit CILCarInfo
extends [mscorlib]System.Object
{
.method public hidebysig static void
Display(class CILCars.CILCar c) cil managed
{
maxstack 8;
.locals init([0] string caption)
ldstr "{0}'s speed is: "
ldarg.0
ldfld string CILCars.CILCar::
call string [mscorlib]System.String::Format(string, object)
stloc.0
ldarg.0
ldflda CILCars.CILCar::currSpeed
call instance string [mscorlib]System.int32::ToString()
ldloc.0
call valuetype [System.Windows.Forms]
System.Windows.Forms.DialogResult
[System.Windows.Forms]
System.Windows.Forms.MessageBox::Show(string, string)
pop
ret
}
}
}
Ошибка при попытке скомпилировать: