我想要一种用于元编程的预处理语言

时间:2011-04-16 05:42:52

标签: c# .net templates metaprogramming preprocessor-meta-program

我正在寻找类似PHP的语言,但更简单 - 我很想称它为“模板引擎”,但我很确定这是错误的术语。什么是正确的术语?文本预处理器?

无论如何,我希望它是基于.NET的,因为我想用它来帮助编写.NET代码。因为.NET泛型不适合编写快速数字代码(the known workaround太麻烦而且仅限于我的需要),我想使用某种允许我输出C#代码的预处理语言来编写数学库。例如,我想生成一系列由各种数据类型(PointF,PointD,PointI等)组成的“Point”类:

#foreach(($T, $Type) in {(F, float), (D, double), (I, int), ...}) #{
    public struct Point$T {
        public $Type X, Y;
        ...
    }
#}

你能为人们提出什么建议?

2 个答案:

答案 0 :(得分:4)

您是否有机会尝试使用T4模板?这应该足以满足您的目标。 http://msdn.microsoft.com/en-us/library/bb126445.aspx

答案 1 :(得分:1)

T4代码生成和模板引擎随Visual Studio一起提供。

还有String Template,它有一个C#端口。