2017-02-16 10 views
-1

Windows Forms 응용 프로그램 프로젝트는 Main 클래스를 정적 ​​클래스 내부에 배치합니다.Windows Forms 응용 프로그램이 정적 클래스에서 Main을 사용하는 이유는 무엇입니까?

이것은 Java에서 왔고 처음에는 꽤 초보 프로그래머였습니다. 이상하고 불편합니다. 나는 어떤 일이 벌어지고 있는지, 그리고 어떻게 규칙에 따라 처리되어야 하는지를 더 잘 이해할 수 있도록 몇 가지 간단한 질문을합니다. 그렇지 않으면

  • 내가 그때부터
  • 에 그 클래스의 비 정적 공공 홈페이지에서 클래스와 작품의 새로운 인스턴스를 기본적으로 정적이 클래스를 생성해야 왜

    • , 어떻게 내가 가야에 대한 진입 점이 정적 클래스 (구조적으로) 내에있는 응용 프로그램 작성
  • +2

    글 머리 기호 1) : 컴파일러 디자인에 대한 임의의 선택 결과 (컴파일러가 "프로그램"클래스의 인스턴스를 만들고 "기본"메서드라고 함). 글 머리 기호 2) : 예. – Graffito

    +0

    @Graffito 깨끗한 응답을 요청할 수 없었습니다. 무리 감사. –

    답변

    0

    프로그램을 시작하려면 개체와 해당 메서드의 인스턴스가 필요합니다. 이 경우, 예를 들어, Windows App을 시작하려면이 경우에 CLR의 주요 진입 점이 "Program.cs"입니다. 따라서 프로그램을 호출 한 다음 정적 메서드를 호출해야합니다.

    Foo.Start(); 
    

    의 WinForm 케이스의에서 :이, 단지 당신이 그것을 실행하고 호출하기 위해 CLR의 엔트리 포인트 인 경우

    //Example Entry point of Program just for interpretation 
    public static class Foo 
    { 
        private static int intID { get; set; } 
        public static string strName { get; set; } 
    
        public static string Start() 
        { 
         return "Program run successfully"; 
        } 
    } 
    

    : 간단한 코드 표현이 될 수

    Program.Main(); 
    

    Program.cs는 단지 기본 프로젝트 템플릿입니다. 이 클래스를 삭제하고 다른 클래스의 Main 함수를 작성하거나 static 클래스의 이름을 정적 Main으로 바꿀 수 있습니다.

    두 번째 질문에서 그렇습니다.

    +0

    "그걸 삭제하고 다른 클래스의 메인 기능을 쓸 수있을거야."와우, 웬일인지 내 마음을 넘지 않았다. .. 고마워. –