public TradingItem ReloadTradingItem() { TradingItem returnVal = new TradingItem(); BindingFlags flags = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] returnFieldArray = returnVal.GetType().GetFields(flags); BindingFlags flagsStrategySave = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] ItemSaveFieldArray = this.GetType().GetFields(flagsStrategySave); foreach (FieldInfo field in returnFieldArray) { foreach (FieldInfo SaveField in ItemSaveFieldArray) { if (field.Name == SaveField.Name) { field.SetValue(returnVal, SaveField.GetValue(this)); } } } returnVal.tickBongInfoMgr.Clear(); return(returnVal); }
public TradingItemForSave(TradingItem item, TradingStrategyForSave ts) { this.tsSave = (ts); BindingFlags flags = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] fieldArray = item.GetType().GetFields(flags); BindingFlags flagsStrategySave = BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static; FieldInfo[] ItemSaveFieldArray = this.GetType().GetFields(flagsStrategySave); foreach (FieldInfo field in fieldArray) { foreach (FieldInfo SaveField in ItemSaveFieldArray) { if (field.Name == SaveField.Name) { SaveField.SetValue(this, field.GetValue(item)); } } } }