CodeAccessPermission.Intersect(IPermission) Metoda

Definice

Při implementaci odvozenou třídou vytvoří a vrátí oprávnění, které je průsečíkem aktuálního oprávnění a zadaného oprávnění.

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

Parametry

target
IPermission

Oprávnění, které se protíná s aktuálním oprávněním. Musí být stejného typu jako aktuální oprávnění.

Návraty

Nové oprávnění, které představuje průsečík aktuálního oprávnění a zadaného oprávnění. Toto nové oprávnění je null , pokud je průsečík prázdný.

Implementuje

Výjimky

Parametr target není null a není instancí stejné třídy jako aktuální oprávnění.

Příklady

Následující příklad kódu ukazuje přepsání Intersect metody . Tento příklad kódu je součástí většího příkladu CodeAccessPermission pro třídu .

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

Poznámky

Průsečík dvou oprávnění je oprávnění, které popisuje sadu operací, které obě popisují společně. Průnikem projde jenom požadavek, který projde oběma původními oprávněními.

Poznámky pro implementátory

Tuto metodu je nutné přepsat v odvozené třídě.

Platí pro

Produkt Verze
.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