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 (親のポリシー ステートメント) を返します。