none
Form.show 관련 질문입니다~ RRS feed

  • 질문

  • Form1이라고 이미 만들어놓은 Form이 있을때

    VB.net에서는 메인폼에서 다른 폼을 호출할때

    1.직접 호출(Form1.show)

    2.객체 선언 후 호출

       Dim Form1 as new Form1

       Form1 .show

    둘다 가능한데 C#에서는

    객체 선언 후 호출밖에 안되는것 같은데 혹시 이유를 알 수 있을까요?

    만약 Form1이 제어를 통해 반드시 여러개가 아닌 단일창으로만 띄울때 직접 호출과 객체 선언 후 호출에 대한 차이가 궁금합니다.

    (개인적인 생각은 객체 선언 후 호출은 폼 닫을때 객체에 대한 메모리가 사라지고, 직접 호출은 프로그램이 종료될때까지 메모리가 남아있는 차이밖에 없는 것 같은데 혹시 다른 이유가 있다면 간단하게만이라도 말씀 부탁드립니다.)


    • 편집됨 Student_WHKIM 2014년 9월 3일 수요일 오전 4:23
    2014년 9월 3일 수요일 오전 4:23

답변

  • VB의 경우에는 편의성 기능을 좀더 추가해주고 있기 때문에 그런 문법이 가능합니다.

    VB로 컴파일된 결과물을 .NET Reflector 등으로 역어셈블 해보면 My.MyProject 네임스페이스 아래 VB 컴파일러가 자동으로 공급해주는 클래스들이 있는데 거기에 해당 메서드들이 정의되어 있습니다. (잘은 모르겠는데, Visual Basic 6의 문법을 맞춰주는 용도로 발전한 것이 My 네임스페이스입니다.)

    • 답변으로 표시됨 Student_WHKIM 2014년 9월 10일 수요일 오전 12:48
    2014년 9월 4일 목요일 오전 6:43