public static IReflectorMetadataProvider Merge(this IReflectorMetadataProvider obj, IDictionary <int, object> data) { var accesor = obj.GetAccesor(); foreach (var kv in data) { var code = kv.Key; var type = accesor.GetPropertyType(code); accesor.SetValue(obj, code, BinaryConvert.ConvertTo(type, kv.Value)); } return(obj); }
public static T Merge <T>(this T obj, IDictionary <string, object> data) where T : IReflectorMetadataProvider { var accesor = obj.GetAccesor(); foreach (var kv in data) { var code = accesor.GetPropertyCode(kv.Key); var type = accesor.GetPropertyType(code); accesor.SetValue(obj, code, BinaryConvert.ConvertTo(type, kv.Value)); } return(obj); }