我正在研究用C#编写的代码生成器。 此代码生成器读取xml文件并生成.cs文件。 到目前为止,我们假设所有字段都是字符串,这是不正确的,我已经更改了代码,因此它可以根据我们的xml中指定的类型生成一个类型:
<MyField>
<Name>Name</Name>
<Type>String</Type>
</MyField>
但是可能有一些字段可以有多个值(多字段字段),这些字段具有列出所有可能选项的另一个属性(例如,选项)。 我想做的是为任何给定类型生成数组类型。因此我可以先处理我的字段,如果有一些字段可选,我可以将它们的类型转换为数组。
这是我想做的事情:
Type fieldType=typeof(string);
Type fieldType=GetArrayTypeof(fieldType);
我应该如何实现GetArrayTypeOf
功能?
答案 0 :(得分:2)
要从字符串名称中获取类型,您可以使用Type.GetType方法。
要从项目使用Type.MakeArrayType实例方法获取数组类型:
string itemTypeName = "System.Int32";
Type itemType = Type.GetType(itemTypeName);
Console.WriteLine(itemType.MakeArrayType());