UnionCodeGroup.Resolve Method (Evidence)

 

Resolves policy for the code group and its descendants for a set of evidence.

Namespace:   System.Security.Policy
Assembly:  mscorlib (in mscorlib.dll)

public override PolicyStatement Resolve(
	Evidence evidence
)

Parameters

evidence
Type: System.Security.Policy.Evidence

The evidence for the assembly.

Return Value

Type: System.Security.Policy.PolicyStatement

A policy statement consisting of the permissions granted by the code group with optional attributes, or null if the code group does not apply (the membership condition does not match the specified evidence).

Exception Condition
ArgumentNullException

The evidence parameter is null.

PolicyException

More than one code group (including the parent code group and any child code groups) is marked Exclusive.

Given evidence for an assembly to be loaded, this method evaluates the code group by first checking the membership condition against the specified evidence. If there is a match, this method returns a policy statement for the code group, including evaluation of child code groups.

For union code groups, all child code groups whose membership condition match the evidence are also resolved, and all resulting policy statements form a union with the policy statement of the parent union code group. Each child code group type determines how its child groups are applied, depending on how their respective Resolve methods work.

The .NET Framework security system uses Resolve on the policy levels to determine which permissions to grant to loaded code from the resulting policy statements and the code request on the assembly.

If the membership condition does not match the specified evidence, this method returns null; otherwise, it sets the permission set to be returned (P) equal to the code group's policy statement, and then continues. For each child code group, the method resolves the code group with the same evidence; if the result is not null, it sets P equal to the union of P and the child code group's policy statement. It then returns P, which is now the union of the current code group's policy statement and all child group policy statements.

.NET Framework
Available since 1.1
Return to top
Show: