using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;
using System.Reflection;
namespace DLLtest
{
class Program
{
static void Main(string[] args)
{
// 获取dlltest11.dll的文件路径
Assembly ass = Assembly.LoadFrom("./dlltest11.dll");
// 获取该dll中命名空间dlltest11中Class1类
Type type = ass.GetType("dlltest11.Class1");
// 实例化该类
object obj = Activator.CreateInstance(type);
// 获取该类中的方法ShowMessage
//MethodInfo mi = type.GetMethod("ShowMessage");
// 使用方法
//mi.Invoke(obj, new object[1]);
Type[] structure_Type = new Type[1];
Object[] structure_Obj = new Object[1];
structure_Type[0] = Type.GetType("System.String");
Console.WriteLine("请输入数字:\n");
string content = Console.ReadLine();
structure_Obj[0] = content;
if (content != "")
{
MethodInfo mi = type.GetMethod("ShowMessage", structure_Type);
Object returnValue = mi.Invoke(obj, structure_Obj);
string result = returnValue.ToString();
Console.WriteLine("result is {0}\n", result);
}
else
{
Console.WriteLine("输入为空_________________");
}
}
}
}
dll文件:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace dlltest11
{
public class Class1
{
public string ShowMessage(string text)
{
if (text == "123")
{
return "PASS";
}
else
{
return "NG";
}
}
}
}