CodeAccessPermission.Intersect(IPermission) Método

Definición

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

C#
public abstract 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.

Implementaciones

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 una invalidación del Intersect método . Este ejemplo de código es parte de un ejemplo más grande proporcionado para la clase CodeAccessPermission.

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

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.

Notas a los implementadores

Debe invalidar este método en una clase derivada.

Se aplica a

Producto Versiones
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.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 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10