FirstMatchCodeGroup.Resolve(Evidence) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
一連の証拠について、コード グループおよびその子孫のポリシーを解決します。
public:
override System::Security::Policy::PolicyStatement ^ Resolve(System::Security::Policy::Evidence ^ evidence);
public override System.Security.Policy.PolicyStatement Resolve (System.Security.Policy.Evidence evidence);
override this.Resolve : System.Security.Policy.Evidence -> System.Security.Policy.PolicyStatement
Public Overrides Function Resolve (evidence As Evidence) As PolicyStatement
パラメーター
- evidence
- Evidence
アセンブリの証拠。
戻り値
オプションの属性を持つコード グループによって与えられたアクセス許可から成るポリシー ステートメント。コード グループがポリシーを適用しない (指定した証拠とメンバーシップ条件が一致しない) 場合は null
。
例外
evidence
パラメーターが null
です。
複数のコード グループ (親コード グループと子コード グループを含む) が Exclusive とマークされています。
例
次のコードは、 メソッドを使用して Resolve コード グループのポリシーを解決する方法を示しています。 このコード例は、FirstMatchCodeGroup クラスのために提供されている大規模な例の一部です。
Assembly^ assembly = Members::typeid->Assembly;
Evidence^ executingEvidence = assembly->Evidence;
PolicyStatement^ policy = codeGroup->Resolve( executingEvidence );
Assembly assembly = typeof(Members).Assembly;
Evidence executingEvidence = assembly.Evidence;
PolicyStatement policy = codeGroup.Resolve(executingEvidence);
Dim executingAssembly As [Assembly] = Me.GetType().Assembly
Dim executingEvidence As Evidence
executingEvidence = executingAssembly.Evidence
Dim policy As PolicyStatement = codeGroup.Resolve(executingEvidence)
注釈
アセンブリが読み込まれる証拠が与えられた場合、このメソッドは、最初にメンバーシップの条件を指定した証拠と照合してコード グループを評価します。 一致するものがある場合、このメソッドは、子コード グループの評価を含む、コード グループのポリシー ステートメントを返します。
最初に一致するコード グループの場合、各子コード グループのメンバーシップ条件は、追加された順序で証拠に対してテストされます。最初の一致のみが証拠セットで解決されます。 一致するものがない場合は、親の最初に一致するコード グループのポリシー ステートメントが適用されます。 一致する子コード グループの種類は、これらの子グループのメソッドの動作に応じて、その下にあるすべての子グループの適用方法 Resolve を決定します。
.NET Frameworkセキュリティ システムは、ポリシー レベルで を使用Resolveして、結果のポリシー ステートメントとアセンブリのコード要求から読み込まれたコードに付与するアクセス許可を決定します。
このメソッドのこの操作は次のとおりです。
メンバーシップ条件が指定した証拠と一致しない場合は、 を返 null
します。それ以外の場合は、アクセス許可セットをコード グループのポリシー ステートメントと同じ (P) に設定して続行します。 子コード グループごとに、同じ証拠でコード グループを解決します。結果が でない null
場合は、そのポリシー ステートメントを返します。 一致する子コード グループがない場合は、P (親のポリシー ステートメント) を返します。
適用対象
.NET