次の方法で共有


<Application> 要素 (.NET Native)

実行時にリフレクションに使用可能なメタデータを持つアプリケーション全体の型と型のメンバーのコンテナーとして機能し、アプリ内のすべてのプログラム要素にランタイム リフレクション ポリシーを適用します。

<Directives> 要素 <Application> 要素 (rd.xml)

構文

<Application Activate="policy_setting"
             Browse="policy_setting"
             Dynamic="policy_setting"
             Serialize="policy_setting"
             DataContractSerializer="policy_setting"
             DataContractJsonSerializer="policy_setting"
             XmlSerializer="policy_setting"
             MarshalObject="policy_setting"
             MarshalDelegate="policy_setting"
             MarshalStructure="policy_setting" />

属性および要素

以降のセクションでは、属性、子要素、および親要素について説明します。 「子要素」の表では、ポリシーは実行時に特定のプログラム要素で使用可能になるメタデータの種類を示します。

属性

属性 属性の型 説明
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 省略可能な属性です。 ネイティブ コードに構造体をマーシャリングするためのポリシーを制御します。

すべての属性

[値] 説明
policy_setting アプリで型に適用する、このポリシーの設定です。 指定できる値は、AllAutoExcludedPublicPublicAndInternalRequired PublicRequired PublicAndInternal、および Required All です。 詳細については、「ランタイム ディレクティブのポリシー設定」を参照してください。

子要素

要素 説明
<アセンブリ> 特定のアセンブリ内のすべての型にポリシーを適用します。
<名前空間> 特定の名前空間内のすべての型にポリシーを適用します。
<種類> クラスや構造体などの特定の型にポリシーを適用します。
<TypeInstantiation> 構築されたジェネリック型にポリシーを適用します。 たとえば、<TypeInstantiation> 要素を使用して List<String> 型のポリシーを定義できます。
<メソッド> 特定の型のメソッドにポリシーを適用します。
<MethodInstantiation> 構築されたジェネリック メソッドにポリシーを適用します。
<プロパティ> 特定の型のプロパティにポリシーを適用します。
<フィールド> 特定の型のフィールドにポリシーを適用します。
<イベント> 特定の型のイベントにポリシーを適用します。

親要素

要素 説明
<ディレクティブ> ランタイム ディレクティブ ファイルのルート要素です。

解説

<Directives> 要素には、0 または 1 個の <Application> 要素を含めることができます。 1 つのリフレクション ディレクティブ ファイルに複数の <Application> 要素を含めることはサポートされていません。

<Application> 要素は、次の 2 とおりの方法で使用できます。

  • 実行時に必要なメタデータを持つプログラム要素を定義するためのコンテナーとして。 この場合、<Application> 要素に属性は必要ありません。 コンパイル時に、コンパイラ ツールは、.NET Framework コア ライブラリを含むすべてのライブラリで、<Application> 要素の子要素により示されるプログラム要素を検索します。 一方、コンパイラ ツールは、<Library> 要素によって指定されたライブラリだけで、<Library> の子要素によって特定されたプログラム要素を検索します。

  • リフレクション、シリアル化、および相互運用に関するアプリケーション全体のポリシーを設定する要素として。 <Application> 要素の属性はアプリケーション全体のポリシーを定義します。このポリシーは、<Application> 要素または <Library> 要素により定義される子要素によってオーバーライドできます。

こちらもご覧ください