我有一个模板系统,类似于旧款ASP代码。 我将其通过一个类运行,该类将整个内容重写为C#源代码,编译,最后执行。
我想知道是否有一种类似于#pragma的指令,可以在生成的C#代码中添加,使得编译错误能够匹配模板文件中的行号?
例如,假设我在模板代码中有这个唯一的第一行:
Object o = datta; // should be data, compiler error
但是为了编译它,我必须添加一个命名空间、一个类、一个方法和一些样板代码,因此这行代码,原本是我的模板文件中的第1行,实际上最终成为C#代码中的第17行(只是举例说明的随机数字)。编译器错误会自然地将我的错误标记为第17行,而不是第1行。
我记得我之前用过另一种编程语言(尽管我不记得是哪个)它有一个指令,我可以添加进去,使得错误行号对齐。
C# 3.5 中是否有类似的东西?