gpt4 book ai didi

c# - Mono.Cecil:操作可能会在运行时不稳定

转载 作者:行者123 更新时间:2023-11-30 12:16:45 28 4
gpt4 key购买 nike

我遵循了提示 here ,我什至将以下几行放入:

var MSILWorker = prop.SetMethod.Body.GetILProcessor();
MSILWorker.Body.InitLocals = true;

我在两个类中有两个属性:

 [NotifyProperty]
public int Number { get; set; }

 [NotifyProperty]
public string Name { get; set; }

生成的 IL 代码完全相同,当然除了属性名称和支持字段的类型。然而,第一个抛出 VerificationException(“操作可能会破坏运行时的稳定性”),第二个则不会。我可能做错了什么?

编辑:这是有问题的 IL:

.method public hidebysig specialname instance void set_Number(int32 'value') cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
.maxstack 3
L_0000: nop
L_0001: ldarg.0
L_0002: ldarg.1
L_0003: stfld int32 TestApplication.SLTest.SLBOComposite::<Number>k__BackingField
L_0008: ldarg.0
L_0009: ldstr "Number"
L_000e: call instance void TestApplication.SLTest.SLBOComposite::RaisePropertyChanged(string)
L_0013: nop
L_0014: ldarg.0
L_0015: ldstr "Number"
L_001a: ldarg.1
L_001b: call instance void W3B.TestApplication.SLTest.SLBOComposite::Validate(string, object)
L_0020: nop
L_0021: ret
}

最佳答案

没关系。 :)

 L_001b: box int32

有解决方案。

关于c# - Mono.Cecil:操作可能会在运行时不稳定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4759062/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com