[英]Why does my program work if my Main method in C# is private?
默認情況下,class 中每個成員的類型修飾符都是私有的,即使 Main() function 類型修飾符也是私有的。 CLR如何調用外界不可見的main方法?
CLR 不關心main
的可訪問性。 “對外界可見”僅適用於代碼,不適用於運行時。
這不是真的。
它必須是公開的。
例如,
public static void Main()
。
編輯:這是我今天發現和學到的,關於為什么Main
不需要public
。 http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/9184c55b-4629-4fbf-ad77-2e96eadc4d62/
嘗試在您的代碼上使用ildasm並尋找主要方法
.method private hidebysig static void Main(string[] args) cil managed
{
.entrypoint // this is something the CLR is interested in
你是對的,
它被標記為入口點。 檢查這個問題:為什么 Main 方法是私有的?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.