2013-03-13 98 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的两个..他们看起来很相似。

//此实例将一直可用,直到应用程序退出。

希望这回答了你的问题