类名为包含命名空间的名字。
string Path = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
Assembly assembly = Assembly.LoadFrom(Path + "\\" + dllName);
Type DeivecType = assembly.GetType(className);
//使用默认的构造函数来创建该类型
//object DeviceObj = System.Activator.CreateInstance(DeivecType);
//使用与指定参数匹配程度最高的构造函数创建指定类型的实例
//设置入参的值
Object[] params_obj = new Object[2] { _service, _package };
object DeviceObjWithParam = System.Activator.CreateInstance(DeivecType, params_obj);
//属性赋值
//System.Reflection.PropertyInfo proID = DeivecType.GetProperty("ID");
//proID.SetValue(DeviceObjWithParam, ID);
//System.Reflection.PropertyInfo proInterval = DeivecType.GetProperty("Interval");
//proInterval.SetValue(DeviceObjWithParam, Interval);
//执行方法:
DeivecType.GetMethod("Show_Str", params_type).Invoke(instance, params_obj);
return DeviceObjWithParam;