我的意思是,或许有可能使一个程序,它的是否有可能创建一个读取自己源代码的程序?
public class PrintOwnSourceCode
{
public static void Main ()
{
System.Console.WriteLine([something]);
// prints "public class PrintOwnSourceCode { public static void Main () { ... } }"
}
}
相当于???
而且会是反射的例子?
已编译的程序集不包含其源代码 - 您可以通过反编译生成功能上等效的源代码(在许多情况下,语句中的语句与.Net相同),但要寻找一种通用解决方案,将编译代码转换为源代码与原始源代码相同是不可能的。您*可以*构建quines,其唯一目的是打印自己的源代码,但这更像是一个难题,而不是一个普遍有用的概念。 –
你有这样做的理由吗?或者只是好奇?简短的回答是肯定的,例如一种方法是将源代码复制到您的部署中,然后从中读取。 – Quantumplate