CSV解析——利用CodeDom生成所需类(二)

本文介绍了如何使用CodeDom动态生成用于CSV反序列化的类,详细讲解了生成过程,并展示了如何设置API Compatibility Level以解决命名空间问题。通过示例展示了从CSV的第一行数据生成类字段,并添加特性。文章最后提到未来将探讨如何自定义字段类型和特性,以及如何将反序列化数据可视化。
摘要由CSDN通过智能技术生成

上一章中讲到了,在进行反序列化的时候,我们会通过反射把数据注入到一个类中,而这个类是需要我们手动写的,如果需要更方便的使用,比如临时使用或调整,我就希望这个类是能够自动生成的,这一章节就来介绍如何动态生成脚本文件
有关动态生成脚本文件.cs的内容可以查询CodeDom,而这里Unity想要使用CodeDom需要使用以下三个命名空间:

using System.CodeDom;
using System.CodeDom.Compiler;
using System.Reflection;

注意:如果在代码使用中发现找不到命名空间,那是因为.net的API是旧版本所导致的,可以在Edit——Project Settings——Player——OtherSettings——API Compatibility Level设置API为4.X

那么接下来就是代码部分,其实代码也非常的简单,我们先声明一个函数,参数就是要生成的类名,以及一个数组,这个数组保存的就是CSV第一行的数据,也就是标签行的数据,我们会用这一行的字符来给字段命名,并且先声明一个编译单元

public static void CreateClass(string className, string[] fields)
{
   
    //准备编译单元
    CodeCompileUnit unit = new CodeCompileUnit(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值