在上一章中讲到了,在进行反序列化的时候,我们会通过反射把数据注入到一个类中,而这个类是需要我们手动写的,如果需要更方便的使用,比如临时使用或调整,我就希望这个类是能够自动生成的,这一章节就来介绍如何动态生成脚本文件
有关动态生成脚本文件.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(