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

Método IPermission.Union (IPermission)

 

Publicado: octubre de 2016

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

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

IPermission Union(
	IPermission target
)

Parámetros

target
Type: System.Security.IPermission

Permiso para combinar con el actual. Debe ser del mismo tipo que el permiso actual.

Valor devuelto

Type: System.Security.IPermission

Nuevo permiso que representa la unión del permiso actual y el especificado.

Exception Condition
ArgumentException

El parámetro target no es null y no es del mismo tipo que el permiso actual.

El resultado de una llamada a Union es un permiso que representa todas las operaciones representadas por el permiso actual y el permiso especificado. Cualquier solicitud que pase alguno de estos permisos pasa también su unión.

Las instrucciones siguientes deben ser true para todas las implementaciones de la Union (método). X y Y representan IPermission objetos que no son null.

  • X. Union (X) devuelve un objeto que tiene el mismo valor que X.

  • X. Union (Y) devuelve un objeto que tiene el mismo valor que el objeto devuelto por Y. Union (X).

  • X. Union (null) devuelve un objeto que tiene el mismo valor que X.

En el ejemplo de código siguiente se muestra cómo implementar el Union método. Este ejemplo de código forma parte de un ejemplo mayor proporcionado para el IPermission clase.

// Return a new object that contains the union of 'this' and 'target'.
// Note: You do not have to implement this method. If you do not, the version
// in CodeAccessPermission does this:
//    1. If target is not null, a NotSupportedException is thrown.
//    2. If target is null, then Copy is called and the new object is returned.
public override IPermission Union(IPermission target)
{
    // If 'target' is null, then return a copy of 'this'.
    if (target == null) return Copy();

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

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

    // Return a new object with the calculated, unioned permission value.
    return Clone(false, (SoundPermissionState)
        Math.Max((Int32)m_flags, (Int32)soundPerm.m_flags));
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: