2009-09-23 2 views
0

내 VB 프로젝트는 여러 파일을 필요로 할만큼 충분히 큽니다. 그것은 원래 Console App으로 개발되었고 각 파일을 MODULE로 만들었습니다. 모든 모듈은 다른 모듈의 서브 루틴, 데이터 구조 및 상수를 사용할 수 있으며 모든 것이 잘 동작합니다. 앱에 기본 윈도우 기능을 추가해야했기 때문에 앱을 콘솔 앱에서 Windows Forms 앱으로 변환해야했습니다. 메인 윈도우는 MODULE이 아닌 Form1이지만 CLASS입니다. 문제는 일부 MODULE 기반 함수가 CLASS 파일에 통합되지 않는 한 CLASS Form1 내에 정의 된 서브 루틴, 데이터 및 상수에 액세스 할 수 없기 때문에 CLASS 파일이 매우 커질 수 있다는 것입니다. 프로젝트에 새 클래스 파일을 추가하면 다중 모듈 코드가 상호 운용되는 것과 같은 방식으로 클래스 Form1과 상호 운용 될 수 없습니다.Visual Studio - 하나의 클래스 인 여러 파일 관리 - 클래스, 모듈

여러 파일에 CLASS 코드를 퍼뜨리는 방법과 한 파일에있는 것처럼 상호 운용 할 수있는 방법은 무엇입니까? 또는 여러 개의 MODULE 파일이 작동하는 방식으로 작동하는 여러 CLASS 파일을 만드는 방법은 무엇입니까?

내가 위반하는 모범 사례가 있지만 모든 프로토 타입 소프트웨어를 작동시키고 일부 실험 장비와 인터페이스하는 것이 목표라는 것은 확실합니다.

사전에

답변

3

사용 부분 클래스 (클래스 선언에 일부 키워드를) 감사합니다. 클래스의 각 부분 "비트"는 컴파일 할 때 병합됩니다. 모든 부분 비트는 같은 프로젝트에 있어야합니다.

0

모듈은 기본 공유이며 새 키워드로 초기화 할 필요가 없습니다. 콘솔 응용 프로그램을 Windows 응용 프로그램으로 만들면 클래스가되었습니다 ... 공용 공유 클래스로 만들고 공용 내의 모든 속성과 메서드를 만들기 만하면 모듈과 동일한 동작으로 변경할 수 있습니다.

그래서 초기화없이 모듈의 메소드와 속성에 액세스 할 수 있지만 NEW 메소드를 사용하여 클래스 메소드를 초기화해야합니다.

는 단순히 사용하는 것 모듈에서 클래스에 액세스하려면 : 당신은 또한 당신의 클래스를 분할 부분 클래스라는를 사용할 수

SomeModulemethod 
    dim x as new CLASS 
    CLASS.SOMEMETHOD 
someModuleMethod End 

,하지만 당신이 정말로 별도의 필요 여부를 결정하는 것이 훨씬 낫다 당신이하고 싶은 것을위한 수업.

관련 문제