public static IModelMapInstruction CloneInstruction(IModelMapInstruction instruction) { var cloneable = instruction as ICloneable; if (cloneable != null) { return((IModelMapInstruction)cloneable.Clone()); } var type = instruction.GetType(); var clone = (IModelMapInstruction)FastYetSimpleTypeActivator.CreateInstance(type); var properties = type.GetProperties(); foreach (var property in properties) { if (!property.CanWrite) { continue; } property.SetValue(clone, property.GetValue(instruction, null)); } return(clone); }
private static bool shouldOffset(IModelMapInstruction instruction, ModelMapDiffOptions options) { return(options.Offsets.Contains(instruction.GetType())); }
public void RemoveInstruction(IModelMapInstruction instruction) { _instructions.Remove(instruction); }
public void InsertInstruction(int index, IModelMapInstruction instruction) { _instructions.Insert(index, instruction); }
public void AddInstruction(IModelMapInstruction instruction) { _instructions.Add(instruction); }