⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myenums.il

📁 < Microsoft .NET IL汇编语言程序设计>>书上的源程序
💻 IL
字号:
.assembly extern mscorlib {}
.assembly MyEnums { }
.module MyEnums.exe

.class public value sealed MagicNumber
{
	.field private int32 _value_ // specialname value__ is reserved for enums
	.field public static initonly valuetype MagicNumber MagicOne
	.field public static initonly valuetype MagicNumber MagicTwo
	.field public static initonly valuetype MagicNumber MagicThree
	.method public static specialname void .cctor()
	{
		ldsflda valuetype MagicNumber MagicNumber::MagicOne
		ldc.i4 123
		stfld int32 MagicNumber::_value_

		ldsflda valuetype MagicNumber MagicNumber::MagicTwo
		ldc.i4 456
		stfld int32 MagicNumber::_value_

		ldsflda valuetype MagicNumber MagicNumber::MagicThree
		ldc.i4 789
		stfld int32 MagicNumber::_value_

		ret
	}
	.method public int32 ToBase() 
	{ 
		ldarg.0
		ldfld int32 MagicNumber::_value_
		ret
	}
}
.class public value sealed MagicLine
{
	.field private string _value_ // specialname value__ is reserved for enums
	.field public static initonly valuetype MagicLine MagicOne
	.field public static initonly valuetype MagicLine MagicTwo
	.field public static initonly valuetype MagicLine MagicThree
	.method public static specialname void .cctor()
	{
		ldsflda valuetype MagicLine MagicLine::MagicOne
		ldstr "Please!"
		stfld string MagicLine::_value_

		ldsflda valuetype MagicLine MagicLine::MagicTwo
		ldstr "Sorry, my fault!"
		stfld string MagicLine::_value_

		ldsflda valuetype MagicLine MagicLine::MagicThree
		ldstr "Of course, honey!"
		stfld string MagicLine::_value_

		ret
	}
	.method public string ToBase() 
	{ 
		ldarg.0
		ldfld string MagicLine::_value_
		ret
	}
}
.method public static void Foo()
{
	.entrypoint
	.locals init (valuetype MagicNumber j, valuetype MagicLine L)

	ldsfld valuetype MagicNumber MagicNumber::MagicOne
	stloc j
	ldloca j
	call instance int32 MagicNumber::ToBase()
	call void [mscorlib]System.Console::WriteLine(int32)

	ldsfld valuetype MagicNumber MagicNumber::MagicTwo
	stloc j
	ldloca j
	call instance int32 MagicNumber::ToBase()
	call void [mscorlib]System.Console::WriteLine(int32)

	ldsfld valuetype MagicNumber MagicNumber::MagicThree
	stloc j
	ldloca j
	call instance int32 MagicNumber::ToBase()
	call void [mscorlib]System.Console::WriteLine(int32)

	
	ldsfld valuetype MagicLine MagicLine::MagicOne
	stloc L
	ldloca L
	call instance string MagicLine::ToBase()
	call void [mscorlib]System.Console::WriteLine(string)

	ldsfld valuetype MagicLine MagicLine::MagicTwo
	stloc L
	ldloca L
	call instance string MagicLine::ToBase()
	call void [mscorlib]System.Console::WriteLine(string)

	ldsfld valuetype MagicLine MagicLine::MagicThree
	stloc L
	ldloca L
	call instance string MagicLine::ToBase()
	call void [mscorlib]System.Console::WriteLine(string)

	ret
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -