IPermission.Intersect(IPermission) Método

Definición

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

C#
public System.Security.IPermission? Intersect(System.Security.IPermission? target);
C#
public System.Security.IPermission Intersect(System.Security.IPermission target);

Parámetros

target
IPermission

Permiso para formar intersección con el permiso actual. Debe ser del mismo tipo que el permiso actual.

Devoluciones

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

Excepciones

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar el Intersect método . Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase IPermission.

C#
// 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);
}

Comentarios

La intersección de dos permisos es un permiso que describe el conjunto de operaciones que ambos describen en común. Solo una demanda que supere ambos permisos originales pasará la intersección.

Las siguientes instrucciones deben ser verdaderas para todas las implementaciones del Intersect método . X y Y representan IPermission referencias de objeto que no nullson .

  • 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.

Se aplica a

Produto Versións
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1