创建一个类库项目(testLib),新增一个类(Class1),最后生成dll文件(testLib.dll)
函数start在磁盘I中生成1.txt文件,在其中写入当前时间。
函数start2在磁盘I中生成1.txt文件,在其中写入调用方传递过来的文本。
namespace testLib
{
public class Class1
{
public Class1()
{
}
public void start()
{
File.WriteAllText(@"I:\1.txt", DateTime.Now.ToString());
}
public void start2(string msg)
{
File.WriteAllText(@"I:\1.txt", msg);
}
}
}
创建控制台项目(test),主函数中反射testLib.dll,并调用其中的函数(start)
using System.Reflection;
namespace test
{
internal class Program
{
static void Main(string[] args)
{
Assembly assembly = Assembly.LoadFrom($"{AppDomain.CurrentDomain.BaseDirectory}/testLib.dll");
assembly = AppDomain.CurrentDomain.Load(assembly.FullName);
object obj = assembly.CreateInstance("testLib.Class1");
MethodInfo method = obj.GetType().GetMethod("start2");
method.Invoke(obj, null);
Console.WriteLine("Hello, World!");
}
}
}
传参调用start2:
MethodInfo method = obj.GetType().GetMethod("start2");
object[] param = new object[1];
param[0] = "msg";
method.Invoke(obj, param);
下载码是:C71272E332,下载码是啥?如何下载=》点击查看