Intersect Método (IPermission)
Collapse the table of content
Expand the table of content
Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

IPermission.Intersect (Método) (IPermission)

 

Crea y devuelve un permiso que es la intersección entre el permiso actual y el permiso especificado.

Espacio de nombres:   System.Security
Ensamblado:  mscorlib (en mscorlib.dll)

IPermission Intersect(
	IPermission target
)

Parámetros

target

Permiso que forma una intersección con el permiso actual.Debe ser del mismo tipo que el permiso actual.

Valor devuelto

Type: System.Security.IPermission

Nuevo permiso que representa la intersección entre el permiso actual y el permiso especificado.Este nuevo permiso es null si la intersección está vacía.

Exception Condition
ArgumentException

El parámetro target no es null y tampoco es una instancia de la misma clase que el permiso actual.

La intersección de dos permisos es un permiso que describe el conjunto de operaciones descritas por ambos permisos.Sólo pasará la intersección una petición que pase los dos permisos originales.

Las instrucciones siguientes deben ser true para todas las implementaciones del método Intersect. X e Y representan referencias a objetos IPermission que no son null.

  • X .Intersect(X) devuelve un valor igual a X.

  • X .Intersect(Y) devuelve el mismo valor que Y .Intersect(X).

  • X .Intersect(null) devuelve null.

En el siguiente ejemplo de código se muestra cómo se implementa el método Intersect.Este ejemplo de código forma parte de un ejemplo más extenso referente a la clase IPermission.

// Return a new object that contains the intersection of 'this' and 'target'.
public override IPermission Intersect(IPermission target)
{
    // If 'target' is null, return null.
    if (target == null) return null;

    // Both objects must be the same type.
    SoundPermission soundPerm = VerifyTypeMatch(target);

    // If 'this' and 'target' are unrestricted, return a new unrestricted permission.
    if (m_specifiedAsUnrestricted && soundPerm.m_specifiedAsUnrestricted)
        return Clone(true, SoundPermissionState.PlayAnySound);

    // Calculate the intersected permissions. If there are none, return null.
    SoundPermissionState val = (SoundPermissionState)
        Math.Min((Int32)m_flags, (Int32)soundPerm.m_flags);
    if (val == 0) return null;

    // Return a new object with the intersected permission value.
    return Clone(false, val);
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar:
© 2016 Microsoft