형식 전달(C++/CLI)
입력 전달 형식 어셈블리 A를 소비 하는 클라이언트를 다시 컴파일할 필요는 하나의 어셈블리 (어셈블리 A)에서 다른 어셈블리 (어셈블리 B)로 이동할 수 있습니다
모든 플랫폼
이 기능은 모든 런타임에서 지원 되지 않습니다.
Windows 런타임
이 기능을 지원 하지 않습니다는 Windows 런타임.
요구 사항
컴파일러 옵션:/ZW
공용 언어 런타임
다음 코드 예제에서는 형식 전달을 사용 하는 방법을 보여 줍니다.
구문
#using "new.dll"
[assembly:TypeForwardedTo(type::typeid)];
매개 변수
new
형식 정의로 이동 하는 어셈블리입니다.type
정의가 다른 어셈블리로 이동 하는 형식입니다.
설명
컴포넌트 (어셈블리) 제공 된 후 클라이언트 응용 프로그램에서 사용 하는 형식 전달을 사용할 수 있습니다 형식을 다른 어셈블리로 component (어셈블리)를 이동 하 고 업데이트 된 구성 요소 (및 필요한 모든 추가 어셈블리)를 제공 하 고 클라이언트 응용 프로그램을 다시 컴파일하지 않고 계속 작동 합니다.
형식 전달을 기존 응용 프로그램에서 참조 하는 구성 요소에만 사용할 수 있습니다.응용 프로그램을 다시 작성 하면 응용 프로그램에서 사용 되는 모든 형식에 대 한 적절 한 어셈블리 참조가 있어야 합니다.
어셈블리에서 형식 (유형 A)를 전달할 때 추가 해야 해당 TypeForwardedTo 어셈블리 참조 뿐만 아니라 해당 형식에 대 한 특성.참조 된 어셈블리 중 하나를 포함 해야 합니다.
A. 형식에 대 한 정의
A TypeForwardedTo 어셈블리 참조 뿐만 아니라 A 형식에 대 한 특성입니다.
전달할 수 있는 유형의 예는 다음과 같습니다.
ref 클래스
값 클래스
열거형
인터페이스
다음 형식은 전달할 수 없습니다.
제네릭 형식
네이티브 형식
중첩 형식 (중첩된 형식에 전달 하려는 경우 바깥쪽 형식을 전달 해야)
공용 언어 런타임을 대상으로 하는 언어로 작성 된 어셈블리에 있는 형식을 전달할 수 있습니다.
따라서 A.dll 어셈블리를 빌드하는 데 사용 되는 소스 코드 파일 형식 정의 포함 하는 경우 (ref class MyClass), 해당 유형을 이동 하려는 어셈블리 b.dll에 정의 원하는:
이동은 MyClass b.dll을 빌드하는 데 사용 되는 소스 코드 파일에 정의 입력 합니다.
B.dll 어셈블리 빌드
삭제는 MyClass 형식 정의가 a.dll을 빌드하고 다음으로 교체 하는 데 사용 되는 소스 코드에서:
#using "B.dll" [assembly:TypeForwardedTo(MyClass::typeid)];
A.dll 어셈블리를 빌드하십시오.
클라이언트 응용 프로그램을 다시 컴파일하지 않고도 a.dll을 사용 합니다.
요구 사항
컴파일러 옵션:/clr