public override void BuildIL(DynamicMethodBody dynamicMethodBody) { for (int i = 0; i < NestedSourceProperties.Count - 1; i++) { dynamicMethodBody .Ldarg("source"); for (int x = 0; x <= i; x++) { dynamicMethodBody .Call(this.NestedSourceProperties[x].GetGetMethod()); } dynamicMethodBody .IfNotNull(); } dynamicMethodBody .Ldarg("target") .Ldarg("source"); foreach (PropertyInfo propertyInfo in NestedSourceProperties) { dynamicMethodBody.Call(propertyInfo.GetGetMethod()); } dynamicMethodBody .Call(this.TargetProperty.GetSetMethod()); for (int i = 0; i < NestedSourceProperties.Count - 1; i++) { dynamicMethodBody .EndIf(); } }
public override void BuildIL(DynamicMethodBody dynamicMethodBody) { dynamicMethodBody .Ldarg("target") .Ldarg("source") .Call(this.SourceProperty.GetGetMethod()) .Call(this.TargetProperty.GetSetMethod()); }