2011-08-23 4 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

정확히 무슨 일이 일어 났는가? 하나는 인스턴스를 생성 한 다음 메서드를 호출하고 다른 하나는 작업을 직접 수행합니다.

일반적으로 첫 번째 양식은 테스트에 더 도움이됩니다. 각 테스트에서 앱의 별도 인스턴스를 만들고 관련 매개 변수를 전달할 수 있습니다. 다른 클래스와도 동일합니다. 어떤 상태가 있으면 더 쉽습니다. 전역 상태를 사용하는 것보다 개별 인스턴스를 개별적으로 테스트하고 테스트간에이를 정리해야합니다.

관련 문제