Средство установки свойств MSIL — доступ к полю значения

У меня есть следующий сеттер-метод, но объект, который я поместил в value, не передается вызываемому методу:

.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 
}

Я хочу вызвать функцию в L_000c как Set(0x6c, ldfld MemoryAddress, value). Первые два поля правильно отправлены в функцию. Любая подсказка? Это выглядит довольно хорошо, когда вы делаете что-то подобное и смотрите на определение в Reflector.


cil
person Jan Jongboom    schedule 28.11.2009    source источник


Ответы (1)


Мне пришлось сделать box int32 или превратить Set в Set<T>.

person Jan Jongboom    schedule 28.11.2009