StrongNameIdentityPermission.Union(IPermission) Metodo

Definizione

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.Creates a permission that is the union of the current permission and the specified permission.

public:
 override System::Security::IPermission ^ Union(System::Security::IPermission ^ target);
public override System.Security.IPermission Union (System.Security.IPermission target);
override this.Union : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Union (target As IPermission) As IPermission

Parametri

target
IPermission

Autorizzazione da combinare con quella corrente.A permission to combine with the current permission. Deve essere dello stesso tipo dell'autorizzazione corrente.It must be of the same type as the current permission.

Restituisce

Nuova autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.A new permission that represents the union of the current permission and the specified permission.

Eccezioni

Il parametro target non è null e non è dello stesso tipo dell'autorizzazione corrente.The target parameter is not null and is not of the same type as the current permission.

In alternativa-or- Le due autorizzazioni sono differenti e una rappresenta un sottoinsieme dell'altra.The two permissions are not equal and one is a subset of the other.

Esempi

Nell'esempio di codice seguente vengono illustrati i risultati dell'utilizzo Union del metodo, non come utilizzare il metodo.The following code example shows the results of the use of the Union method, not how to use the method. Questo esempio fa parte di un esempio più ampio fornito per StrongNameIdentityPermission la classe.This example is part of a larger example provided for the StrongNameIdentityPermission class. Il modo migliore per questo esempio è compilare ed eseguire l'intero esempio e visualizzarne l'output.The best use for this example is to build and execute the entire example, and view its output.

Nota

L'esempio di codice ha lo scopo di illustrare il comportamento del metodo, non di dimostrarne l'utilizzo.The code example is intended to show the behavior of the method, not to demonstrate its use. In generale, i metodi delle classi di autorizzazione vengono utilizzati dall'infrastruttura di sicurezza. non vengono in genere usati nelle applicazioni.In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.

// Union creates a new permission that is the union of the current permission and the specified permission.
bool UnionDemo()
{
    bool returnValue = true;
    StrongNameIdentityPermission^ snIdPerm1;
    StrongNameIdentityPermission^ snIdPerm2;
    IPermission^ snIdPerm3;
    snIdPerm1 = gcnew StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.*", gcnew Version("1.0.0.0"));
    snIdPerm2 = gcnew StrongNameIdentityPermission(blob, "MyCompany.MyDepartment.MyFile", gcnew Version("1.0.0.0"));
    snIdPerm3 = dynamic_cast<StrongNameIdentityPermission^>(snIdPerm1->Union( snIdPerm2 ));
    snIdPerm3 = snIdPerm1->Union( snIdPerm2 );

    try
    {
        Console::WriteLine("The union of MyCompany.MyDepartment.*" +
            "and MyCompany.MyDepartment.MyFile is " +
            (dynamic_cast<StrongNameIdentityPermission^>(snIdPerm3))->Name); 
    }
    catch (Exception^ e)
    {
        Console::WriteLine("An expected exception was thrown: " + e->Message);
    }


    return returnValue;
}


// Union creates a new permission that is the union of the current permission and the specified permission.
private bool UnionDemo()
{

    bool returnValue = true;

    StrongNameIdentityPermission snIdPerm1, snIdPerm2;
    IPermission 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"));

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

    try
    {
        Console.WriteLine("The union of MyCompany.MyDepartment.*" +
        "and MyCompany.MyDepartment.MyFile is " +
        ((StrongNameIdentityPermission)snIdPerm3).Name.ToString());
    }
    catch (Exception e)
    {
        Console.WriteLine("An expected exception was thrown: " + e.Message);
    }


    return returnValue;

}
' Union creates a new permission that is the union of the current permission and the specified permission.
Private Function UnionDemo() As Boolean 
    
    Dim returnValue As Boolean = True
    
    Dim snIdPerm1, snIdPerm2 As StrongNameIdentityPermission
    Dim snIdPerm3 As IPermission
    
    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"))
    
    snIdPerm3 = CType(snIdPerm1.Union(snIdPerm2), StrongNameIdentityPermission)
    
    Try
        Console.WriteLine("The union of MyCompany.MyDepartment.*" + "and MyCompany.MyDepartment.MyFile is " + CType(snIdPerm3, StrongNameIdentityPermission).Name.ToString())
    Catch e As Exception
        Console.WriteLine("An expected exception was thrown: " + e.Message)
    End Try
    
    
    Return returnValue

End Function 'UnionDemo
 

Commenti

Il risultato di una chiamata a Union è un'autorizzazione che rappresenta tutte le operazioni rappresentate sia dall'autorizzazione corrente che dall'autorizzazione specificata.The result of a call to Union is a permission that represents all the operations represented by both the current permission and the specified permission. Qualsiasi richiesta che supera le autorizzazioni passa l'Unione.Any demand that passes either permission passes their union.

L'Unione di un'autorizzazione e null è l'autorizzazione che non nulllo è.The union of a permission and null is the permission that is not null. L'Unione di un'autorizzazione e di un subset di tale autorizzazione è l'autorizzazione che contiene l'altra.The union of a permission and a subset of that permission is the permission that contains the other. Qualsiasi altra combinazione genera un' ArgumentException eccezione.Any other combination results in an ArgumentException exception being thrown.

Si applica a