我有一个看起来类似于旧式 ASP 代码的模板系统。我通过一个将整个东西重写为 C# 源代码、编译并最终执行它的类来运行它。
我想知道是否有某种类似#pragma 的指令我可以将生成的C# 代码洒在上面,这将使编译错误与我的模板文件中的行号相匹配?
例如,假设我的模板代码中有第一行也是唯一一行:
Object o = datta; // should be data, compiler error
但是为了编译它,我必须添加一个命名空间、一个类、一个方法和一些样板代码,所以上面的这一行,即我的模板文件中的第 1 行,实际上最终是第 17 行(随机数,仅用于说明目的)在 C# 代码中。编译器错误自然会将我的错误标记为第 17 行,而不是第 1 行。
我记得我以前使用过的另一种编程语言(虽然我不记得是哪一种)它有一个可以添加的指令,它可以使错误行号对齐。
C# 3.5 中有这样的东西吗?