2011-08-23 44 views
2

第一個示例創建程序類的一個實例。第二個不是。有人可以告訴我這兩個簡單模型發生了什麼? (如果你願意的話,你可以下來堆棧幀和minutae)爲什麼要使用?我想了解這些結構的優點和應用。運行主對象內部的對象實例與純靜態對象之間有什麼區別?

//Example #1 
namespace ConsoleApp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Program createStory = new Program(); 
      createStory.PrintMe(); 
     } 


     private void PrintMe() 
     { 
      Console.Write("Hello World)); 
     } 

    } 
} 
//Example #2 
namespace ConsoleApp 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.Write("Hello World)); 
     } 
    } 
} 
+1

你的'PrintMe()'方法應該在你的第一個例子的'Program'類中。 –

+0

感謝nevayeshirazi –

回答

2

你已經說了究竟發生了什麼 - 一個創建一個實例,然後調用一個方法,另一個直接完成它的工作。

通常情況下,第一種形式更適合於測試 - 您可以在每個測試中創建一個單獨的應用程序實例,傳入相關參數等。與其他類也是如此 - 如果您有任何狀態,則更容易單獨測試單獨的實例,而不是使用全局狀態,並且必須在測試之間進行清理。

相關問題