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 CodeAccessPermission.Intersect (IPermission)

 

Publicado: octubre de 2016

Cuando se implementa mediante una clase derivada, crea y devuelve un permiso que es la intersección del permiso actual y el permiso especificado.

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

public abstract IPermission Intersect(
	IPermission target
)

Parámetros

target
Type: System.Security.IPermission

Permiso para formar 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 del permiso actual y del 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 no 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. Sólo una petición que pase los dos permisos originales pasará la intersección.

Notas para desarrolladores de herederos:

Debe invalidar este método en una clase derivada.

En el ejemplo de código siguiente se muestra una invalidación de la Intersect (método). Este ejemplo de código forma parte de un ejemplo mayor proporcionado para el CodeAccessPermission clase.

        public override IPermission Intersect(IPermission target)
        {
            Console.WriteLine ("************* Entering Intersect *********************");
            if (target == null)
            {
                return null;
            }
#if(debug)
            Console.WriteLine ("This is = " + (( NameIdPermission)this).Name);
            Console.WriteLine ("Target is " + (( NameIdPermission)target).m_Name);
#endif
            if (!VerifyType(target))
            {
                throw new ArgumentException (String.Format ("Argument is wrong type.", this.GetType ().FullName));
            }

             NameIdPermission operand = ( NameIdPermission)target;

            if (operand.IsSubsetOf (this)) return operand.Copy ();
            else if (this.IsSubsetOf (operand)) return this.Copy ();
            else
                return null;
        }

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: