Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }