c# 调用dll文件

自己写段代码生成个dll文件,再用自己的代码调用代码生成的dll

第一步,创建个类库,类库下面创建个类,在写一个方法,代码如下:

 

namespace myClass
{
    public class ClassName
    {
         public string ForeachFile(string filePathByForeach)
        {
            var result="";
            DirectoryInfo theFolder = new DirectoryInfo(filePathByForeach);
            DirectoryInfo[] dirInfo = theFolder.GetDirectories();//获取所在目录的文件夹
            FileInfo[] file = theFolder.GetFiles();//获取所在目录的文件

            foreach (FileInfo fileItem in file) //遍历文件
            {
                result += "dirName:" + fileItem.DirectoryName + "    fileName:" + fileItem.Name + "\n";
            }
            //遍历文件夹
            foreach (DirectoryInfo NextFolder in dirInfo)
            {
                result += ForeachFile(NextFolder.FullName);
            }
            return result;
        }
    }
}

这是一个递归方法,觉得复杂也可以:

namespace myClass
{
    public class ClassName
    {
         public string ForeachFile(string filePathByForeach)
        {
            var result="123"; 
            return result;
        }
    }
}

第二步:右键生成dll。

第三步:添加添加myClass

第四步:调用测试代码


using System.Reflection;

Assembly assembly = Assembly.LoadFrom(@"D:\netProgram\myClass\bin\Debug\net6.0" + "/myClass.dll");
//Assembly assembly = Assembly.LoadFrom(dll);
//获取类型,参数(名称空间+类)   
Type type = assembly.GetType("myClass.ClassName");
//方法的名称
System.Reflection.MethodInfo method = type.GetMethod("ForeachFile");
object instance = assembly.CreateInstance("myClass.ClassName");

string res = "";
object[] params_obj1 = new object[1];
params_obj1[0] = @"D:\2022N\模型本地资源池查找\项目文件";
 
var xuexiqingkuangErrorInfo = (string)method.Invoke(instance, params_obj1);
Console.WriteLine(xuexiqingkuangErrorInfo);
Console.ReadKey();

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值