형식 선언이 형식의 부분 정의임을 나타냅니다.
키워드를 사용하여 Partial 형식의 정의를 여러 선언으로 나눌 수 있습니다. 원하는 만큼 다양한 소스 파일에서 원하는 만큼 부분 선언을 사용할 수 있습니다. 그러나 모든 선언은 동일한 어셈블리와 동일한 네임스페이스에 있어야 합니다.
비고
Visual Basic은 부분 클래스에서 일반적으로 구현되는 부분 메서드를 지원합니다. 자세한 내용은 부분 메서드 및 하위 문을 참조하세요.
문법
[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ variabledeclarations ]
[ proceduredeclarations ]
{ End Class | End Structure }
부분
| 기간 | 정의 |
|---|---|
attrlist |
선택 사항입니다. 이 형식에 적용되는 특성 목록입니다.
특성 목록을 꺾쇠 괄호(< >)로 묶어야 합니다. |
accessmodifier |
선택 사항입니다. 이 형식에 액세스할 수 있는 코드를 지정합니다. Visual Basic의 액세스 수준을 참조하세요. |
Shadows |
선택 사항입니다. 그림자를 참조하세요. |
MustInherit |
선택 사항입니다. MustInherit을 참조하세요. |
NotInheritable |
선택 사항입니다. NotInheritable을 참조하세요. |
name |
필수 사항입니다. 이 형식의 이름입니다. 동일한 형식의 다른 모든 부분 선언에 정의된 이름과 일치해야 합니다. |
Of |
선택 사항입니다. 제네릭 형식임을 지정합니다. Visual Basic의 제네릭 형식을 참조하세요. |
typelist |
다음을 사용하는 경우 필수 입니다. 형식 목록을 참조하세요. |
Inherits |
선택 사항입니다. Inherits 문을 참조하세요. |
classname |
를 사용하는 Inherits경우 필수입니다. 이 클래스가 파생되는 클래스 또는 인터페이스의 이름입니다. |
Implements |
선택 사항입니다. Implements 문을 참조하세요. |
interfacenames |
를 사용하는 Implements경우 필수입니다. 이 형식이 구현하는 인터페이스의 이름입니다. |
variabledeclarations |
선택 사항입니다. 형식에 대한 추가 변수 및 이벤트를 선언하는 문입니다. |
proceduredeclarations |
선택 사항입니다. 형식에 대한 추가 프로시저를 선언하고 정의하는 문입니다. |
End Class 또는 End Structure |
이 부분 Class 또는 Structure 정의를 종료합니다. |
비고
Visual Basic은 부분 클래스 정의를 사용하여 생성된 코드를 별도의 소스 파일의 사용자 작성 코드와 분리합니다. 예를 들어 Windows Form Designer 는 다음과 같은 Form컨트롤에 대한 부분 클래스를 정의합니다. 이러한 컨트롤에서 생성된 코드를 수정해서는 안 됩니다.
한정자 사용 및 상속과 같은 클래스, 구조체, 인터페이스 및 모듈 생성에 대한 모든 규칙은 부분 형식을 만들 때 적용됩니다.
모범 사례
일반적인 상황에서는 단일 형식의 개발을 둘 이상의 선언으로 분할해서는 안 됩니다. 따라서 대부분의 경우 키워드가
Partial필요하지 않습니다.가독성을 위해 형식의 모든 부분 선언에는 키워드가
Partial포함되어야 합니다. 컴파일러에서는 하나 이상의 부분 선언에서 키워드를 생략할 수 있습니다. 둘 이상 생략하면 컴파일러에서 오류를 알 수 있습니다.
행동
선언의 공용 구조체입니다. 컴파일러는 형식을 모든 부분 선언의 합집합으로 처리합니다. 모든 부분 정의의 모든 한정자는 전체 형식에 적용되며 모든 부분 정의의 모든 멤버는 전체 형식에서 사용할 수 있습니다.
모듈의 부분 형식에는 형식 승격이 허용되지 않습니다. 부분 정의가 모듈 내에 있으면 해당 형식의 형식 승격이 자동으로 무효화됩니다. 이러한 경우 부분 정의 집합으로 인해 예기치 않은 결과와 컴파일러 오류가 발생할 수 있습니다. 자세한 내용은 형식 승격을 참조하세요.
컴파일러는 정규화된 경로가 동일한 경우에만 부분 정의를 병합합니다.
키워드는 Partial 다음 컨텍스트에서 사용할 수 있습니다.
예시
다음 예제에서는 클래스 sampleClass 의 정의를 각각 다른 Sub 프로시저를 정의하는 두 개의 선언으로 분할합니다.
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
앞의 예제에서 두 부분 정의는 동일한 소스 파일 또는 두 개의 다른 소스 파일에 있을 수 있습니다.
참고하십시오
.NET