StrongNameIdentityPermission.Union(IPermission) Metoda

Definice

Vytvoří oprávnění, které je sjednocením aktuálního oprávnění a zadaného oprávnění.

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

Parametry

target
IPermission

Oprávnění ke kombinování s aktuálním oprávněním Musí být stejného typu jako aktuální oprávnění.

Návraty

IPermission

Nové oprávnění, které představuje sjednocení aktuálního oprávnění a zadaného oprávnění.

Výjimky

Parametr target není null a není stejného typu jako aktuální oprávnění.

-nebo- Dvě oprávnění nejsou stejná a jedna je podmnožinou druhé.

Příklady

Následující příklad kódu ukazuje výsledky použití Union metody, nikoli způsob použití metody. Tento příklad je součástí většího příkladu zadaného StrongNameIdentityPermission pro třídu. Nejlepším řešením pro tento příklad je sestavení a spuštění celého příkladu a zobrazení jeho výstupu.

Poznámka

Příklad kódu je určen k zobrazení chování metody, nikoli k předvedení jejího použití. Obecně platí, že metody tříd oprávnění používají infrastrukturu zabezpečení; obvykle se nepoužívají v aplikacích.

// 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

Poznámky

Výsledkem volání Union je oprávnění, které představuje všechny operace reprezentované aktuálním oprávněním i zadaným oprávněním. Všechny požadavky, které projdou buď oprávněním, předají jejich sjednocení.

Sjednocení oprávnění a null je oprávnění, které není null. Sjednocení oprávnění a podmnožina tohoto oprávnění je oprávnění, které obsahuje ostatní. Jakákoli jiná kombinace způsobí vyvolání ArgumentException výjimky.

Platí pro