⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 builderfactory.cs

📁 通过数据库结构自动 生成三层结构代码,相当不错的一款软件
💻 CS
字号:
namespace LTP.CodeBuild
{
    using LTP.IBuilder;
    using LTP.Utility;
    using Maticsoft.AddInManager;
    using System;
    using System.Reflection;

    public class BuilderFactory
    {
        private static Cache cache = new Cache();

        public static IBuilderBLL CreateBLLObj(string AssemblyGuid)
        {
            try
            {
                if (AssemblyGuid == "")
                {
                    return null;
                }
                AddIn @in = new AddIn(AssemblyGuid);
                string assembly = @in.Assembly;
                string classname = @in.Classname;
                return (IBuilderBLL) CreateObject(assembly, classname);
            }
            catch (SystemException exception)
            {
                string message = exception.Message;
                return null;
            }
        }

        public static IBuilderDAL CreateDALObj(string AssemblyGuid)
        {
            try
            {
                if (AssemblyGuid == "")
                {
                    return null;
                }
                AddIn @in = new AddIn(AssemblyGuid);
                string assembly = @in.Assembly;
                string classname = @in.Classname;
                return (IBuilderDAL) CreateObject(assembly, classname);
            }
            catch (SystemException exception)
            {
                string message = exception.Message;
                return null;
            }
        }

        public static IBuilderDALTran CreateDALTranObj(string AssemblyGuid)
        {
            try
            {
                if (AssemblyGuid == "")
                {
                    return null;
                }
                AddIn @in = new AddIn(AssemblyGuid);
                string assembly = @in.Assembly;
                string classname = @in.Classname;
                return (IBuilderDALTran) CreateObject(assembly, classname);
            }
            catch (SystemException exception)
            {
                string message = exception.Message;
                return null;
            }
        }

        public static IBuilderModel CreateModelObj(string AssemblyGuid)
        {
            try
            {
                if (AssemblyGuid == "")
                {
                    return null;
                }
                AddIn @in = new AddIn(AssemblyGuid);
                string assembly = @in.Assembly;
                string classname = @in.Classname;
                return (IBuilderModel) CreateObject(assembly, classname);
            }
            catch (SystemException exception)
            {
                string message = exception.Message;
                return null;
            }
        }

        private static object CreateObject(string path, string TypeName)
        {
            object obj2 = cache.GetObject(TypeName);
            if (obj2 == null)
            {
                try
                {
                    obj2 = Assembly.Load(path).CreateInstance(TypeName);
                    cache.SaveCache(TypeName, obj2);
                }
                catch (Exception exception)
                {
                    string message = exception.Message;
                }
            }
            return obj2;
        }

        public static IBuilderWeb CreateWebObj(string AssemblyGuid)
        {
            try
            {
                if (AssemblyGuid == "")
                {
                    return null;
                }
                AddIn @in = new AddIn(AssemblyGuid);
                string assembly = @in.Assembly;
                string classname = @in.Classname;
                return (IBuilderWeb) CreateObject(assembly, classname);
            }
            catch (SystemException exception)
            {
                string message = exception.Message;
                return null;
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -