다음을 통해 공유


partial(C++/CLI 및 C++/CX)

partial 키워드를 사용하면 동일한 ref 클래스의 각 부분을 서로 다른 파일에서 독립적으로 작성할 수 있습니다.

모든 런타임

이 언어 기능은 Windows 런타임에만 적용됩니다.

Windows Runtime

두 개의 부분 정의 가 있는 ref 클래스의 경우 부분 키워드는 정의의 첫 번째 발생에 적용되며, 이는 일반적으로 자동 생성 코드에 의해 수행되므로 사용자 코더는 키워드를 자주 사용하지 않습니다. 클래스의 모든 후속 부분 정의에 대해, class-key 키워드 및 클래스 식별자에서 partial 한정자를 생략합니다. 컴파일러는 이전에 정의된 ref 클래스 및 클래스 식별자를 발견했지만 partial 키워드가 없는 경우 ref 클래스 정의의 모든 부분을 하나의 정의에 내부적으로 결합합니다.

구문

partial class-key identifier {
   /* The first part of the partial class definition.
      This is typically auto-generated */
}
// ...
class-key identifier {
   /* The subsequent part(s) of the class definition. The same
      identifier is specified, but the "partial" keyword is omitted. */
}

매개 변수

class-key
Windows 런타임에서 지원되는 클래스 또는 구조체를 선언하는 키워드입니다. ref class, value class, ref struct 또는 value struct입니다.

identifier
정의된 형식의 이름입니다.

설명

partial 클래스는 한 파일에서 클래스 정의의 한 부분을 수정하면 자동 코드 생성 소프트웨어(예: XAML 디자이너)에서 다른 파일에 있는 동일한 클래스의 코드를 수정하는 시나리오를 지원합니다. partial 클래스를 사용하면 자동 코드 생성기에서 사용자 코드를 덮어쓰는 경우를 방지할 수 있습니다. Visual Studio 프로젝트에 생성된 파일에는 partial 한정자가 자동으로 적용됩니다.

내용: 두 가지 예외를 제외하고 부분 클래스 정의에는 partial 키워드를 생략한 경우 전체 클래스 정의에 포함될 수 있는 모든 항목이 포함될 수 있습니다. 그러나 클래스 접근성(예: public partial class X { ... };) 또는 declspec은 지정할 수 없습니다.

identifier의 partial 클래스 정의에 사용된 액세스 지정자는 identifier의 후속 부분 또는 전체 클래스 정의에 있는 기본 접근성에 영향을 주지 않습니다. 정적 데이터 멤버의 인라인 정의가 허용됩니다.

선언: 클래스 식별자의 부분 정의는 이름 식별자만 도입하지만 클래스 정의가 필요한 방식으로는 식별자를 사용할 수 없습니다. 컴파일러에서 identifier의 전체 정의를 발견할 때까지 이름 identifier를 통해 identifier의 크기를 확인하거나 identifier의 기준 또는 멤버를 사용할 수 없습니다.

숫자 및 순서 지정: 식별자에 대한 부분 클래스 정의가 0개 이상 있을 수 있습니다. identifier의 모든 partial 클래스 정의는 identifier의 전체 정의가 있을 경우 전체 정의보다 구문상 앞에 와야 하지만(전체 정의가 없으면 정방향 선언된 것처럼 사용하는 경우를 제외하고 클래스를 사용할 수 없음), identifier의 정방향 선언보다 앞에 나올 필요는 없습니다. 모든 클래스 키가 일치해야 합니다.

전체 정의: 클래스 식별자의 전체 정의 지점에서 동작은 식별자의 정의가 부분 클래스에서 발견되고 정의된 순서대로 모든 기본 클래스, 멤버 등을 선언한 경우와 동일합니다.

템플릿: 부분 클래스는 템플릿일 수 없습니다.

제네릭: 전체 정의가 제네릭일 수 있는 경우 부분 클래스는 제네릭이 될 수 있습니다. 그러나 모든 partial 클래스와 전체 클래스에서 형식 매개 변수 이름을 포함한 제네릭 매개 변수가 정확히 같아야 합니다.

partial 키워드를 사용하는 방법에 대한 자세한 내용은 partial 클래스(C++/CX)를 참조하세요.

요구 사항

컴파일러 옵션: /ZW

공용 언어 런타임

공용 언어 런타임에는 이 언어 기능이 적용되지 않습니다.

참고 항목

partial 클래스(C++/CX)