//----------------------------------------------------------------------------- public static void setProp <T>(Dictionary <string, IProp> map_prop, string key, T value, bool collect_dirty = true) { IProp p = null; map_prop.TryGetValue(key, out p); if (p == null) { PropDef prop_def = new PropDef(key, typeof(T), collect_dirty); Prop <T> prop = new Prop <T>(null, prop_def, value); map_prop[prop.getKey()] = prop; } else { p.setValue(value); } }