我的意思是,或許有可能使一個程序,它的是否有可能創建一個讀取自己源代碼的程序?
public class PrintOwnSourceCode
{
public static void Main ()
{
System.Console.WriteLine([something]);
// prints "public class PrintOwnSourceCode { public static void Main () { ... } }"
}
}
相當於???
而且會是反射的例子?
已編譯的程序集不包含其源代碼 - 您可以通過反編譯生成功能上等效的源代碼(在許多情況下,語句中的語句與.Net相同),但要尋找一種通用解決方案,將編譯代碼轉換爲源代碼與原始源代碼相同是不可能的。您*可以*構建quines,其唯一目的是打印自己的源代碼,但這更像是一個難題,而不是一個普遍有用的概念。 –
你有這樣做的理由嗎?或者只是好奇?簡短的回答是肯定的,例如一種方法是將源代碼複製到您的部署中,然後從中讀取。 – Quantumplate