次の方法で共有


FirstMatchCodeGroup.Resolve メソッド

一連の証拠について、コード グループおよびその子孫のポリシーを解決します。

Overrides Public Function Resolve( _
   ByVal evidence As Evidence _) As PolicyStatement
[C#]
public override PolicyStatement Resolve(Evidenceevidence);
[C++]
public: PolicyStatement* Resolve(Evidence* evidence);
[JScript]
public override function Resolve(
   evidence : Evidence) : PolicyStatement;

パラメータ

  • evidence
    アセンブリの証拠。

戻り値

オプションの属性を持つコード グループによって与えられたアクセス許可から成るポリシー ステートメント。コード グループがポリシーを適用しない (指定した証拠とメンバシップ条件が一致しない) 場合は null 参照 (Visual Basic では Nothing) 。

例外

例外の種類 条件
ArgumentNullException evidence パラメータが null 参照 (Visual Basic では Nothing) です。
PolicyException 複数のコード グループ (親コード グループと子コード グループを含む) が Exclusive とマークされています。

解説

読み込まれるアセンブリの証拠が指定されている場合、このメソッドは、まず指定した証拠に対してメンバシップ条件を調べることによってコード グループを評価します。両者が一致した場合、このメソッドは、子コード グループの評価を含む、コード グループのポリシー ステートメントを返します。

最初に一致したコード グループでは、各子コード グループのメンバシップ条件が、証拠に対して追加された順序でテストされます。最初に一致したコード グループだけが証拠セットで解決されます。一致しない場合は、最初に一致した親のコード グループのポリシー ステートメントが適用されます。一致した子コード グループ型は、これらの子グループの Resolve メソッドの動作に応じて、子コード グループの下のすべての子グループをどのように適用するかを決定します。

.NET Framework セキュリティ システムは、ポリシー レベルで Resolve を使用して、結果として得られるポリシー ステートメントから、およびアセンブリのコード要求から読み込まれたコードに与えるアクセス許可を決定します。

このメソッドの動作を次に示します。

メンバシップ条件が指定した証拠と一致しない場合は、 null 参照 (Visual Basic では Nothing) を返します。それ以外の場合は、コード グループのポリシー ステートメントと等しい (P) が返されるようにアクセス許可セットを設定し、処理を続行します。子コード グループごとに、同じ証拠を使用してコード グループを解決します。結果が null 参照 (Nothing) でない場合は、そのポリシー ステートメントが返されます。子コード グループが一致しない場合は、P (親のポリシー ステートメント) を返します。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

FirstMatchCodeGroup クラス | FirstMatchCodeGroup メンバ | System.Security.Policy 名前空間