📄 builderfactory.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 + -