class Program
{
static void Main(string[] args)
{
SafeInvoke(() =>
{//通过委托实现通用的异常处理
{
//1 动态加载 默认加载当前路径的dll文件,不需要后缀
Assembly assembly = ("");
Assembly assembly1 = (@"E:\winningjob\C#workspace\Projects\MyHomeWork\\bin\Debug\");
Assembly assembly2 = ("");// 可以是当前路径 也可以是完整路径
//2 获取类型 (获取类型信息的方式不止一个)
Type typeDBHelpher = ("");
//3 创建对象
object oDBHelper = (typeDBHelpher);
//4 调用方法 实例方法、静态方法、重载方法 选修:调用私有方法 调用泛型方法
{//无参数
MethodInfo method = ("Show");
(oDBHelper, null);
}
{//有参数
MethodInfo method = ("MxdQuery");
(oDBHelper, new object[] { "测试入参" });
}
{//泛型参数
MethodInfo method = ("ShowGeneric");
method = (typeof(string));//如果是泛型方法,那么需要先制定参数的类型
(oDBHelper, new object[] { "测试入参" });
}
{//当需要获取的方法有重载方法的时候,获取方法时需要指定参数顺序和类型
MethodInfo method = ("Show_重载", new Type[] { });
(oDBHelper, null);
MethodInfo method1 = ("Show_重载", new Type[] { typeof(string) });
(oDBHelper, new object[] { "测试入参" });
}
}
("*************************************************");
{
//IDBHelper oDBHelperFactory = ();
var oDBHelperFactory = <IDBHelper>();
<User>(1);//这里是测试根据Id获取一行数据
<Company>();//这里测试获取模型表的所有数据
}
});
}
/// <summary>
/// 通用的异常处理
/// </summary>
/// <param name="act">对应任何的逻辑</param>
public static void SafeInvoke(Action act)
{
try
{
();
}
catch (Exception ex)//按异常类型区分处理
{
();
}
}
}