StrongNameIdentityPermission.Union(IPermission) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 null
izindir. 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.