Hi Simon, Running peverify on your assembly says:
[IL]: Error: [C:\Users\jbevain\Downloads\AssemblyExperiments.dll : AssemblyExper iments.ClassWithBeforeAfterImplementation::set_Property1][offset 0x0000000E] ini tlocals must be set for verifiable methods with one or more local variables. 1 Error(s) Verifying AssemblyExperiments.dll I suggest then that you do: On Mon, Oct 11, 2010 at 1:07 PM, Simon Cropp <[email protected]> wrote: > private void AddBeforeAfrerInvokerCall(PropertyDefinition > property, MethodBody setMethodBody) > { > var beforeVariable = new > VariableDefinition(MsCoreReferenceFinder.ObjectTypeReference); setMethodBody.InitLocals = true; > setMethodBody.Variables.Add(beforeVariable); > > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldarg_0)); > cilWorker.InsertBefore(last, > cilWorker.Create(OpCodes.Call, property.GetMethod)); > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Stloc_0)); > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldarg_0)); > cilWorker.InsertBefore(last, > cilWorker.Create(OpCodes.Ldstr, property.Name)); > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldloc_0)); > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Ldloc_1)); > cilWorker.InsertBefore(last, > cilWorker.Create(OpCodes.Call, > OnPropertyChangedReference.MethodReference)); > cilWorker.InsertBefore(last, cilWorker.Create(OpCodes.Nop)); > } -- Jb Evain <[email protected]> -- -- mono-cecil
