是否可以动态获取源代码?像这样:
虚拟代码:
1 int x = 5;
2 string y = "";
3 string codeFromLine1 = SomeClass.SomeMethod("currentfilename", 1)
codeFromLine1< ===> " int x = 5;"
答案 0 :(得分:1)
C#编译成IL;您发送的应用程序几乎肯定将不会以任何方式包含源代码,而IL 可以反转回C#(使用正确的工具,假设它没有被故意混淆了,它在原始来源上并不总是相同的,并且行号根本没有意义。总的来说:没有。在一些非常具体的案例中:可能。
答案 1 :(得分:1)
如果您有权访问原始代码文件
int lineNo = 1;
string codeLine = File.ReadLines(fileNameOfSourceCode)
.Skip(lineNo - 1);
.First();
这可能对设计时工具有用;但是,我不知道它在运行时的用途。请注意,如果在Debug配置中编译代码并包含* .PDB文件,则异常会生成文件名,行号和列号。我也可以使用Release配置;但是,代码优化器可能会让人感到困惑。