<TypeParameter> 요소(.NET 네이티브)
메서드로 전달된 Type 인수가 나타내는 형식에 정책을 적용합니다.
구문
<Parameter Name="parameter_name"
Activate="policy_type"
Browse="policy_type"
Dynamic="policy_type"
Serialize="policy_type"
DataContractSerializer="policy_type"
DataContractJsonSerializer="policy_type"
XmlSerializer="policy_type"
MarshalObject="policy_type"
MarshalDelegate="policy_type"
MarshalStructure="policy_type" />
특성 및 요소
다음의 섹션은 특성, 자식 요소 및 부모 요소에 대해 설명합니다.
특성
특성 | 특성 형식 | 설명 |
---|---|---|
Name |
일반 | 필수 특성입니다. Type 형식의 매개 변수 이름입니다. 예를 들어 메서드 시그니처 Type.GetInterfaceMap(Type interfaceType) 의 경우 Name 특성의 값은 "interfaceType"입니다. |
Activate |
리플렉션 | 선택적 특성입니다. 인스턴스를 활성화할 수 있도록 생성자에 대한 런타임 액세스를 제어합니다. |
Browse |
리플렉션 | 선택적 특성입니다. 프로그램 요소에 대한 정보 쿼리를 제어하지만 런타임 액세스를 사용하도록 설정하지는 않습니다. |
Dynamic |
리플렉션 | 선택적 특성입니다. 생성자, 메서드, 필드, 속성 및 이벤트를 비롯한 모든 형식 멤버에 대한 런타임 액세스를 제어하여 동적 프로그래밍을 수행할 수 있도록 합니다. |
Serialize |
직렬화 | 선택적 특성입니다. Newtonsoft JSON 직렬 변환기 등의 라이브러리를 통해 형식 인스턴스를 직렬화 및 역직렬화할 수 있도록 생성자, 필드 및 속성에 대한 런타임 액세스를 제어합니다. |
DataContractSerializer |
직렬화 | 선택적 특성입니다. System.Runtime.Serialization.DataContractSerializer 클래스를 사용하는 직렬화에 대한 정책을 제어합니다. |
DataContractJsonSerializer |
직렬화 | 선택적 특성입니다. System.Runtime.Serialization.Json.DataContractJsonSerializer 클래스를 사용하는 JSON 직렬화에 대한 정책을 제어합니다. |
XmlSerializer |
직렬화 | 선택적 특성입니다. System.Xml.Serialization.XmlSerializer 클래스를 사용하는 XML 직렬화에 대한 정책을 제어합니다. |
MarshalObject |
Interop | 선택적 특성입니다. Windows 런타임 및 COM에 대한 참조 형식을 마샬링하는 정책을 제어합니다. |
MarshalDelegate |
Interop | 선택적 특성입니다. 네이티브 코드에 대한 함수 포인터로 대리자 형식을 마샬링하는 정책을 제어합니다. |
MarshalStructure |
Interop | 선택적 특성입니다. 값 형식을 네이티브 코드로 마샬링하는 정책을 제어합니다. |
이름 특성
값 | 설명 |
---|---|
parameter_name | Type 형식의 매개 변수 이름입니다. 예를 들어 메서드 시그니처 Type.GetInterfaceMap(Type interfaceType) 의 경우 Name 특성의 값은 "interfaceType"입니다. |
기타 모든 특성
값 | 설명 |
---|---|
policy_setting | 이 정책 형식에 적용할 설정입니다. 가능한 값은 All , Public , PublicAndInternal , Required Public , Required PublicAndInternal 및 Required All 입니다. 자세한 정보는 런타임 지시문 정책 설정을 참조하세요. |
자식 요소
없음
부모 요소
요소 | 설명 |
---|---|
<방법> | 생성자 또는 메서드에 런타임 리플렉션 정책을 적용합니다. |
설명
<TypeParameter>
요소는 Type 형식 매개 변수에만 적용할 수 있다는 점을 제외하면 <Parameter> 요소와 비슷합니다. 이 요소는 Name
특성으로 지정된 형식 인수에 의해 런타임에 표시되는 형식에 정책을 적용합니다.
예를 들어 NewtonSoft JSON serializer는 정적 JsonConvert.DeserializeObject(String value, Type type)
메서드를 포함합니다. 다음 리플렉션 지시문은
<Directives xmlns="http://schemas.microsoft.com/netfx/2013/01/metadata">
<Type Name="Newtonsoft.Json.JsonConvert" >
<Method Name="DeserializeObject">
<GenericParameter Name="type" Serialize="Required All" />
</Method>
</Type>
</Directives>
type
인수가 나타내는 런타임 형식에 대한 메타데이터를 serialization에 사용할 수 있도록 제공해야 함을 지정합니다. 이러한 런타임 지시문이 다음 소스 코드를 포함하는 프로젝트에 적용되는 경우
Type t = typeof(StockQuote);
Object obj = JsonConvert.DeserializeObject(data, t);
리플렉션 지시문은 런타임에 StockQuote
형식의 메타데이터를 NewtonSoft JSON serializer에 제공합니다.