using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;
//using ServerInfoClass;
namespace TestDLLImport
{
class Program
{
static void Main(string[] args)
{
string output = "";
Assembly ass = Assembly.LoadFrom(@"C:/ServerInfoClass.dll");
//加载dll后,需要使用dll中某类.
Type type = ass.GetType("ServerInfoClass.HardDisksInfo");
Console.WriteLine(type.Name);
//需要实例化类型,才可以使用,参数可以人为的指定,也可以无参数,静态实例可以省略
Object obj = ass.CreateInstance("ServerInfoClass.HardDisksInfo");//利用指定的参数实例话类型
//调用类型中的某个方法:
//需要首先得到此方法
MethodInfo mi = type.GetMethod("GetServerHardDiskInfo");//通过方法名称获得方法
//然后对方法进行调用,多态性利用参数进行控制
mi.Invoke(obj, null);//根据参数直线方法,返回值就是原方法的返回值
//ServerDeviceInfoClass sdi = (ServerDeviceInfoClass)obj;
//output = sdi.InfoVersion;
PropertyInfo pi = type.GetProperty("InfoVersion");
output = (string)(pi.GetValue(obj, null));
//mi = type.GetMethod("SetToByteArray");
Console.WriteLine(output);
Console.ReadLine();
}
}
}