FirstMatchCodeGroup.Resolve(Evidence) Método

Definición

Resuelve la directiva del grupo de código y sus descendientes para un conjunto de pruebas.

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

Parámetros

evidence
Evidence

Prueba del ensamblado.

Devoluciones

PolicyStatement

Instrucción de directiva que contiene los permisos concedidos por el grupo de código con atributos opcionales, o null si el grupo de código no se aplica (la prueba especificada no cumple la condición de pertenencia).

Excepciones

El parámetro evidence es null.

Más de un grupo de código (incluido el grupo de código principal y todos los grupos de código secundarios) se ha marcado como Exclusive.

Ejemplos

En el código siguiente se muestra el uso del método para resolver la Resolve directiva del grupo de código. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la FirstMatchCodeGroup clase .

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)

Comentarios

Dada la evidencia para que se cargue un ensamblado, este método evalúa el grupo de código comprobando primero la condición de pertenencia con la evidencia especificada. Si hay una coincidencia, este método devuelve una instrucción de directiva para el grupo de código, incluida la evaluación de los grupos de código secundarios.

En el caso de los grupos de código de primera coincidencia, la condición de pertenencia de cada grupo de código secundario se prueba con la evidencia en el orden en que se agregaron; solo se resuelve la primera coincidencia con el conjunto de evidencias. Si no hay coincidencias, se aplica la instrucción de directiva del grupo de código primario de primera coincidencia. El tipo de grupo de código secundario coincidente determina cómo se aplican todos los grupos secundarios en él, en función de cómo funcionan los Resolve métodos de estos grupos secundarios.

El sistema de seguridad de .NET Framework usa Resolve en los niveles de directiva para determinar qué permisos conceder para conceder código cargado desde las instrucciones de directiva resultantes y la solicitud de código en el ensamblado.

Esta operación de este método es la siguiente:

Si la condición de pertenencia no coincide con la evidencia especificada, devuelva null; de lo contrario, establezca el conjunto de permisos para que se devuelva (P) igual a la instrucción de directiva del grupo de código y continúe. Para cada grupo de código secundario, resuelva el grupo de código con la misma evidencia; si el resultado no nulles , devuelve esa instrucción de directiva. Si no hay ningún grupo de código secundario coinciden, devuelva P (la instrucción de directiva del elemento primario).

Se aplica a