C#将字符串转为类并调用方法

        这天遇到一个需求,动态抓取某个网站的内容,需要一个页面一个页面的保存,网站页面接口是不同的Json格式,需要把不同的Json转换成各自的类,针对各个类来实现方法和数据提取,实现方式是把转换的类名称写到配置文件,通过配置文件来动态调用类,这就存在一个问题,读取的配置文件是字符串,怎么转换成类对象呢?

        实现方式可以通过反射实现,代码如下:


//循环读取配置文件的类名,这里Test是从配置文件里读取的
Type t = Type.GetType("Test");
//创建实例对象
var obj = t.Assembly.CreateInstance("Test");
//动态从网站抓取出的json,模拟过程,这里就不列出具体代码了
var json= "{test:\"hidotnet开发跳槽\"}";
//获取方法
MethodInfo method = t.GetMethod("TestFun");
//调用方法
method.Invoke(obj, new object[] {json});


//测试的类型
class Test
{   //处理Json的方法
    public void TestFun(string name)
    {
        Console.WriteLine("要处理的Json:" + name);
    }
}

    上面通过反射实现了动态读取类来处理数据,不用switch来分支判断了,这样就避免了代码的重复和臃肿。大家还有啥好的方法,欢迎留言讨论。

版权声明:本文来源于网友收集或网友提供,仅供学习交流之用,如果有侵权,请转告版主或者留言,本公众号立即删除。

 
 
技术群:添加小编微信并备注进群
小编微信:mm1552923   公众号:dotNet编程大全
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值