簡體   English   中英

如果我在 C# 中的 Main 方法是私有的,為什么我的程序可以工作?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM