StrongNameIdentityPermission.Intersect(IPermission) Metodo

Definizione

Crea e restituisce un'autorizzazione che rappresenta l'intersezione tra l'autorizzazione corrente e quella specificata.

public override System.Security.IPermission Intersect (System.Security.IPermission target);

Parametri

target
IPermission

Autorizzazione da intersecare con quella corrente. Deve essere dello stesso tipo dell'autorizzazione corrente.

Restituisce

Nuova autorizzazione che rappresenta l'intersezione tra l'autorizzazione corrente e quella specificata oppure null se l'intersezione è vuota.

Eccezioni

Il parametro target non è null e non è dello stesso tipo dell'autorizzazione corrente.

Esempio

Nell'esempio di codice seguente vengono illustrati i risultati dell'uso del Intersect metodo, non come usare il metodo. Questo esempio fa parte di un esempio più grande fornito per la StrongNameIdentityPermission classe. L'uso migliore per questo esempio consiste nel compilare ed eseguire l'intero esempio e visualizzarne l'output.

Nota

L'esempio di codice è destinato a mostrare il comportamento del metodo, non per illustrarne l'uso. In generale, i metodi delle classi di autorizzazione vengono usati dall'infrastruttura di sicurezza; non vengono in genere usati nelle applicazioni.

// Intersect creates and returns a new permission that is the intersection of the current
// permission and the permission specified.
private bool IntersectDemo()
{

    bool returnValue = true;

    StrongNameIdentityPermission snIdPerm1, snIdPerm2, snIdPerm3;

    snIdPerm1 = new StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.*", new Version("1.0.0.0"));
    snIdPerm2 = new StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.MyFile", new Version("1.0.0.0"));

    try
    {

        snIdPerm3 = (StrongNameIdentityPermission)snIdPerm1.Intersect(snIdPerm2);

        Console.WriteLine("The intersection of MyCompany.MyDepartment.*"
        + "MyCompany.MyDepartment.MyFile is "
        + ((StrongNameIdentityPermission)snIdPerm3).Name.ToString());
    }
    catch (Exception e)
    {
        Console.WriteLine("An exception was thrown: " + e);
        returnValue = false;
    }

    return returnValue;
}

Commenti

L'intersezione di due autorizzazioni è un'autorizzazione che descrive il set di operazioni descritte in comune. Solo una richiesta che supera entrambe le autorizzazioni originali passerà l'intersezione.

L'intersezione di due autorizzazioni di identità di nome sicuro identiche è la stessa autorizzazione. L'intersezione di due espressioni diverse (non jolly) è un'autorizzazione vuota. L'intersezione di un'espressione con caratteri jolly e un nome sicuro corrispondente è il nome sicuro. L'intersezione di due espressioni con caratteri jolly corrispondenti è più lunga, più specifica delle due espressioni.

Si applica a

Prodotto Versioni
.NET 8 (package-provided), 9 (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 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9