推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

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

   2023-08-17 网络整理佚名1310
核心提示:这天遇到一个需求,动态抓取某个网站的内容,需要一个页面一个页面的保存,网站页面接口是不同的Json格式,需要把不同的Json转换成各自的类,针对各个类来实现方法和数据提取,实现方式是把转换的类名称写到配置文件,通过配置文件来动态调用类,这就存在一个问题,读取的配置文件是字符串,怎么转换成类对象呢?上面通过反射实现了动态读取类来处理数据,不用来分支判断了,这样就避免了代码的重复和臃肿。

今天遇到一个需要动态抓取某个网站的内容,需要逐页保存。 网站页面的接口是不同的Json格式,不同的Json需要转换成自己的类,并为每个类实现方法。 以及数据提取,实现方法是将转换后的类名写入到配置文件中,通过配置文件动态调用类。 有一个问题,读取的配置文件是一个字符串,如何将其转换为类对象?

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

转化为二进制_转化为pdf_object转化为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); }}

以上实现了动态读取类通过反射来处理数据,不需要用于分支判断,从而避免了代码重复和臃肿。 如果您还有其他好的方法,欢迎留言讨论。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON