C#中的自定义代码生成

时间:2013-07-17 19:24:24

标签: c# wpf xml code-generation

如何在编译时从XML文件生成C#代码?有没有办法做到这一点?下面是我的XML示例:

<Resources xmlns="" Version="1.0">
    <Language Culture="Neutral">
        <Group Name="Default">
            <Resource Name="File"><![CDATA[File]]></Resource>
        </Group>
        <Group Name="Files">
            <Resource Name="Title"><![CDATA[[~Default.File] Selector]]></Resource>
            <Resource Name="SearchLabel"><![CDATA[Enter Search]]></Resource>
        </Group>
    </Language>
</Resources>

这是一个字符串资源集合。正如您所看到的,它是自引用的,而RESX则不是。

3 个答案:

答案 0 :(得分:1)

也许你会对T4 (Text Template Transformation Toolkit)感兴趣。每当需要生成数据或代码时,它应该是一个不错的选择。

答案 1 :(得分:0)

您可以在预构建步骤中使用XSLT将XML转换为可编译的代码。

答案 2 :(得分:0)

查看T4模板。 T4模板是Visual Studio的一项功能,允许您在构建期间将任意文件转换为代码。

http://msdn.microsoft.com/en-us/library/vstudio/bb126445.aspx

http://www.hanselman.com/blog/T4TextTemplateTransformationToolkitCodeGenerationBestKeptVisualStudioSecret.aspx