2013-03-13 2 views
0

나는 C# .net에서 "Exam"이라는 클래스 라이브러리에 클래스를 만들었습니다. 그리고 내 창 형태로 나는 클래스에 대해 객체를 정적으로 생성

  1. static Exam obj= new Exam(); 
    
    은 어떻게됩니까 "와 같은 객체를 생성?
  2. 수 있습니까 new 연산자를 사용하여이 개체를 다시 초기화?
  3. 수 나는 새로운 여부를이 객체를 초기화하는 경우 메모리를 할당 할 수 있습니다 또는 동일한 메모리가 사용됩니다?
  4. 을이 정적이기 때문에 응용 프로그램이 종료 될 때까지 개체를 사용할 수 있기 때문에 나는,이 객체를 파괴 할 수있는 방법은?
+0

http://msdn.microsoft.com/en-us/library/98f28cdx.aspx – SLaks

+0

주셔서 감사합니다 질문에 대한 답변. 제 질문에 대한 해결책을 제시하면 도움이 될 것입니다. 여기서 정적 클래스를 사용하고 싶지 않습니다. – jeevacl

답변

0

클래스 (싱글 톤)에 대해 하나의 인스턴스 만 만들도록 허용해야하는 경우 실제로 사용합니다.

는 두 개의 인스턴스를 생성하지만 모두 .. 그들이 유사의 // ID를 프라하, 단

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); 

을 말한다.

//이 인스턴스는 응용 프로그램이 종료 될 때까지 사용할 수 있습니다.

희망이 당신의 응답을

관련 문제