StrongNameIdentityPermission.Union(IPermission) Yöntem

Tanım

Geçerli iznin ve belirtilen iznin birleşimi olan bir izin oluşturur.

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

Parametreler

target
IPermission

Geçerli izinle birleştirme izni. Geçerli izinle aynı türde olmalıdır.

Döndürülenler

Geçerli iznin ve belirtilen iznin birleşimini temsil eden yeni bir izin.

Özel durumlar

target parametresi değil null ve geçerli izinle aynı türde değil.

-veya-

İki izin eşit değildir ve biri diğerinin alt kümesidir.

Örnekler

Aşağıdaki kod örneği, yönteminin nasıl kullanılacağını değil yönteminin Union kullanılmasının sonuçlarını gösterir. Bu örnek, sınıfı için StrongNameIdentityPermission sağlanan daha büyük bir örneğin bir parçasıdır. Bu örnekte en iyi kullanım, tüm örneği oluşturup yürütmek ve çıktısını görüntülemektir.

Not

Kod örneği, kullanımını göstermek için değil yönteminin davranışını göstermek için tasarlanmıştır. Genel olarak, izin sınıflarının yöntemleri güvenlik altyapısı tarafından kullanılır; bunlar genellikle uygulamalarda kullanılmaz.

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

Açıklamalar

çağrısının Union sonucu, hem geçerli izin hem de belirtilen izinle temsil edilen tüm işlemleri temsil eden bir izindir. her iki izni de geçen tüm talepler birleşimlerini geçirir.

bir iznin birleşimidir ve null olmayan nullizindir. Bir iznin ve bu iznin bir alt kümesinin birleşimi, diğerini içeren izindir. Diğer tüm birleşimler özel durum ArgumentException oluşturmayla sonuçlanıyor.

Şunlara uygulanır