C#加载dll 创建类对象

时间:2022-06-05 17:09:08
//加载dll 创建类对象
string sqlightAssembly = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "system.data.sqlite.dll"); Assembly lib = Assembly.LoadFrom(sqlightAssembly);
foreach (Type t in lib.GetExportedTypes())
{
if(t.FullName == "System.Data.SQLite.SQLiteFactory")
return (DbProviderFactory)Activator.CreateInstance(t);
}
//获取CPU类型
private ProcessorType GetProcessorArch()
{
using (System.Management.ManagementClass processors = new System.Management.ManagementClass("Win32_Processor"))
{
foreach (System.Management.ManagementObject processor in processors.GetInstances())
{
int AddressWidth = int.Parse(processor["AddressWidth"].ToString());
int Architecture = int.Parse(processor["Architecture"].ToString()); //See Win32_Processor Class for details
if (AddressWidth == )
return ProcessorType.x86;
if (AddressWidth == && Architecture == )
return ProcessorType.x64;
if (AddressWidth == && Architecture == )
return ProcessorType.IPF;
}
} throw new NotSupportedException();
}