public static object ConvertBaseTypeToEnity(this BaseTypeEntity input, out string typeName, out string assemblyName) { var type = input.GetTypeFromContent(out typeName, out assemblyName); if (type == null) { return(null); } var result = Activator.CreateInstance(type); var properties = result.GetType().GetProperties(); foreach (var p in properties) { switch (p.Name) { case "FullType": p.SetValue(result, typeName); break; case "AssemblyName": p.SetValue(result, assemblyName); break; default: break; } } return(result); }
public static Type GetTypeFromContent(this BaseTypeEntity input, out string typeName, out string assemblyName) { typeName = input.FullType.Split(',').FirstOrDefault().Trim(); var assemblyNames = input.AssemblyName.Split(',').ToList(); assemblyName = ""; if (assemblyNames.Count == 1) { assemblyName = assemblyNames[0]; } else { assemblyName = assemblyNames[1]; } var typeString = $"{typeName},{assemblyName}"; var type = Type.GetType(typeString); return(type); }