2013-03-13 72 views
0

我已經在c#.net中的類庫中創建了一個名爲「Exam」的類。而在我的窗戶形式創建像「一個對象爲類創建對象爲靜態

static Exam obj= new Exam(); 
  1. 會發生什麼?
  2. 我可以能夠通過使用new運算符來初始化該對象?
  3. 如果我初始化該對象,無論是新的內存將被分配或同樣將使用內存?
  4. 我怎樣才能消滅這個對象,因爲既然它是靜態的對象將可直到應用程序關閉?
+0

http://msdn.microsoft.com/en-us/library/98f28cdx.aspx – SLaks 2013-03-13 03:05:16

+0

感謝您的答覆。如果你爲我的問題提供解決方案將是有幫助的。我不想在這裏使用靜態類。 – jeevacl 2013-03-13 03:40:20

回答

0

當我們只允許爲一個類(單例)創建一個實例時,我們將實際使用它。

public class Exam 
    { 
     private static Exam exam = null; 

     public string Id { get; set; } 


     public static Exam getInstance() 
     { 

      if (exam == null) 
      { 
       exam = new Exam(); 
       exam.Id = IdGenerator.GenerateId(); 
      } 

      return exam; 
     } 
    } 

//來電

Exam exam = Exam.getInstance(); 

       Console.WriteLine(exam.Id); 

       Exam exam2 = Exam.getInstance(); 

       Console.WriteLine(exam2.Id); 

//雖然你創建兩個實例,再檢查一下了IDS的兩個..他們看起來很相似。

//此實例將一直可用,直到應用程序退出。

希望這回答了你的問題