Setter proprietà MSIL - Accesso al campo valore
-
06-07-2019 - |
Domanda
Ho il seguente metodo setter, ma l'oggetto che ho inserito in value
non viene passato al metodo chiamato:
.method public hidebysig specialname instance void set_SeatingCapacity(int32 'value') cil managed
{
.custom instance void [mscorlib]System.Runtime.CompilerServices.CompilerGeneratedAttribute::.ctor()
.maxstack 3
L_0000: ldc.i4 0x6c
L_0005: ldarg.0
L_0006: ldfld int32 Young3.FMSearch.Core.Entities.InGame.BaseObject::MemoryAddress
L_000b: ldarg.1
L_000c: call void Young3.FMSearch.Core.Managers.PropertyInvoker::Set(int32, int32, object)
L_0011: ret
}
Voglio chiamare la funzione in L_000c
come Set(0x6c, ldfld MemoryAddress, value)
. I primi due campi sono correttamente registrati nella funzione. Qualche idea? Sembra abbastanza buono quando si fa qualcosa di simile e si osserva la definizione in Reflector.
Soluzione
Ho dovuto fare un box int32
, o trasformando Set
in Set<T>
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow