方法一:右键工程添加新建,添加一个类库;
完成编译后,将其中的.dll文件添加的需要的项目中,这里直接手动添加:
之后可以直接使用类库中的类了,使用快捷键Alt+shift+F10添加命名空间;
二.使用反射命名空间为using System.Reflection;动态添加;
1.将编译好的类库文件中的.dll文件复制到工作目录中,
Assembly asse=Assembly.Load("Test");//加载.dll文件
Module[]modules= asse.GetModules();//获得所有的.dll
foreach (Module module in modules)
{
Console.WriteLine(module.Name); //打印出.dll文件名称
}
Module[]modules= asse.GetModules();//获得所有的.dll
foreach (Module module in modules)
{
Console.WriteLine(module.Name); //打印出.dll文件名称
}
Type[] types = asse.GetTypes(); //获得.dll引用中的类
foreach (Type type in types)//遍历其中所定义的类
{
Console.WriteLine(type);//打印类名
}
Type typeHelper=asse.GetType("Test.sqlServerHelp"); //通过类名获取其中的一个类返回一个type类型的变量
object obHelp= Activator.CreateInstance(typeHelper); //等于创建对象
sqlServerHelp sql = new sqlServerHelp(); //要使用该类中的方法,可以通过接口实现,方法是将object类型的变量obHelp强制转化为该类所继承的接口;
//在使用接口调用该类中的方法;
Console.ReadKey();
Type[] types = Assembly.GetAssembly(typeof (HandlerBase)).GetTypes(); //获得所有的类
//HandlerBase是抽象类,继承自他的类必须实现他的方法
foreach (var type in types) //遍历其中所有的类
{
if (type.FullName.EndsWith("Handler")) //类名是否是以“Handler”结尾
{
Activator.CreateInstance(type); //创建实例,相当于类的定义new一个对象
}
}