/// <summary> /// 模型数据适配 /// </summary> /// <param name="model">模型</param> /// <param name="source">源数据</param> /// <param name="adapter">适配器</param> public void ModelAdapt(object source, IModelAdapt adapter) { if (source == null) { return; } adapter.ModelAdapt(this, source); }
/// <summary> /// 模型集合适配 /// </summary> /// <typeparam name="M">模型类型</typeparam> /// <param name="models">模型集合</param> /// <param name="soruce">数据源</param> /// <param name="adapter">自定义适配器</param> public static void ModelsAdapt <M>(this IList <M> models, IEnumerable soruce, IModelAdapt adapter) where M : ModelBase { if (soruce == null) { return; } var enumerator = soruce.GetEnumerator(); enumerator.Reset(); while (enumerator.MoveNext()) { var m = Activator.CreateInstance <M>(); m.ModelAdapt(enumerator.Current, adapter); models.Add(m); } }
/// <summary> /// 模型基类构造函数 /// </summary> /// <param name="source">源数据</param> /// <param name="adapter">数据适配器</param> public ModelBase(object source, IModelAdapt adapter) { this.ModelAdapt(source, adapter); }