protected override void OnPropertyGenerationComplete(TypeDefinition proxyType)
{
const string initPropertyWrappersMethodName = "InitPropertyWrappers";
var initPropertyWrappersMethod = proxyType.DefineMethod(
initPropertyWrappersMethodName,
MethodAttributes.Static | MethodAttributes.Private,
null, Type.EmptyTypes);
var il = initPropertyWrappersMethod.GetILGenerator();
this.initPropertyWrapperIlAction.ForEach(m => m(il));
il.Emit(OpCodes.Ret);
var cctor = proxyType.DefineTypeInitializer();
var cctorIl = cctor.GetILGenerator();
cctorIl.Emit(OpCodes.Call, initPropertyWrappersMethod);
cctorIl.Emit(OpCodes.Ret);
}