다음을 통해 공유


형식 전달(C++/CLI)

입력 전달 형식 어셈블리 A를 소비 하는 클라이언트를 다시 컴파일할 필요는 하나의 어셈블리 (어셈블리 A)에서 다른 어셈블리 (어셈블리 B)로 이동할 수 있습니다

모든 플랫폼

이 기능은 모든 런타임에서 지원 되지 않습니다.

Windows 런타임

이 기능을 지원 하지 않습니다는 Windows 런타임.

ms177220.collapse_all(ko-kr,VS.110).gif요구 사항

컴파일러 옵션:/ZW

공용 언어 런타임

다음 코드 예제에서는 형식 전달을 사용 하는 방법을 보여 줍니다.

ms177220.collapse_all(ko-kr,VS.110).gif구문

#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];

ms177220.collapse_all(ko-kr,VS.110).gif매개 변수

  • new
    형식 정의로 이동 하는 어셈블리입니다.

  • type
    정의가 다른 어셈블리로 이동 하는 형식입니다.

ms177220.collapse_all(ko-kr,VS.110).gif설명

컴포넌트 (어셈블리) 제공 된 후 클라이언트 응용 프로그램에서 사용 하는 형식 전달을 사용할 수 있습니다 형식을 다른 어셈블리로 component (어셈블리)를 이동 하 고 업데이트 된 구성 요소 (및 필요한 모든 추가 어셈블리)를 제공 하 고 클라이언트 응용 프로그램을 다시 컴파일하지 않고 계속 작동 합니다.

형식 전달을 기존 응용 프로그램에서 참조 하는 구성 요소에만 사용할 수 있습니다.응용 프로그램을 다시 작성 하면 응용 프로그램에서 사용 되는 모든 형식에 대 한 적절 한 어셈블리 참조가 있어야 합니다.

어셈블리에서 형식 (유형 A)를 전달할 때 추가 해야 해당 TypeForwardedTo 어셈블리 참조 뿐만 아니라 해당 형식에 대 한 특성.참조 된 어셈블리 중 하나를 포함 해야 합니다.

  • A. 형식에 대 한 정의

  • A TypeForwardedTo 어셈블리 참조 뿐만 아니라 A 형식에 대 한 특성입니다.

전달할 수 있는 유형의 예는 다음과 같습니다.

  • ref 클래스

  • 값 클래스

  • 열거형

  • 인터페이스

다음 형식은 전달할 수 없습니다.

  • 제네릭 형식

  • 네이티브 형식

  • 중첩 형식 (중첩된 형식에 전달 하려는 경우 바깥쪽 형식을 전달 해야)

공용 언어 런타임을 대상으로 하는 언어로 작성 된 어셈블리에 있는 형식을 전달할 수 있습니다.

따라서 A.dll 어셈블리를 빌드하는 데 사용 되는 소스 코드 파일 형식 정의 포함 하는 경우 (ref class MyClass), 해당 유형을 이동 하려는 어셈블리 b.dll에 정의 원하는:

  1. 이동은 MyClass b.dll을 빌드하는 데 사용 되는 소스 코드 파일에 정의 입력 합니다.

  2. B.dll 어셈블리 빌드

  3. 삭제는 MyClass 형식 정의가 a.dll을 빌드하고 다음으로 교체 하는 데 사용 되는 소스 코드에서:

    #using "B.dll"
    [assembly:TypeForwardedTo(MyClass::typeid)];
    
  4. A.dll 어셈블리를 빌드하십시오.

  5. 클라이언트 응용 프로그램을 다시 컴파일하지 않고도 a.dll을 사용 합니다.

ms177220.collapse_all(ko-kr,VS.110).gif요구 사항

컴파일러 옵션:/clr