ZoneIdentityPermission.Union メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As ZoneIdentityPermission Dim target As IPermission Dim returnValue As IPermission returnValue = instance.Union(target)
戻り値
現在のアクセス許可と指定したアクセス許可の和集合を表す新しいアクセス許可。


Union を呼び出すと、現在のアクセス許可と指定したアクセス許可の両方が表すセキュリティ ゾーンを表すアクセス許可が作成されます。いずれかのアクセス許可を要求し、その要求が満たされた場合、両者の和集合を表すアクセス許可に対する要求も満たされます。2 つの同じ ZoneIdentityPermission オブジェクトの和集合は、同じアクセス許可です。null アクセス許可と ZoneIdentityPermission アクセス許可の和集合では、アクセス許可は null にはなりません。
NoZone セキュリティ ゾーンを表す ZoneIdentityPermission オブジェクトは、null アクセス許可として処理され、特殊なケースとして扱われます。NoZone セキュリティ ゾーンを表すZoneIdentityPermission オブジェクトと null アクセス許可の和集合は null です。2 つの異なるゾーン ID アクセス許可の和集合の結果では、2 つのアクセス許可がいずれも NoZone セキュリティ ゾーンを表さない場合に、ArgumentException 例外がスルーされます。

' 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 zone1, zone2 As SecurityZone Dim zoneIdPerm1, zoneIdPerm2 As ZoneIdentityPermission Dim zoneIdPerm3 As IPermission Dim zoneGen1 As New ZoneGenerator() Dim zoneGen2 As New ZoneGenerator() zoneGen1.ResetIndex() While zoneGen1.CreateZone(zone1) zoneIdPerm1 = New ZoneIdentityPermission(zone1) Console.WriteLine("**********************************************************" & ControlChars.Cr) zoneGen2.ResetIndex() Try While zoneGen2.CreateZone(zone2) zoneIdPerm2 = New ZoneIdentityPermission(zone2) zoneIdPerm3 = CType(zoneIdPerm1.Union(zoneIdPerm2), ZoneIdentityPermission) zoneIdPerm3 = zoneIdPerm1.Union(zoneIdPerm2) If zoneIdPerm3 Is Nothing Then Console.WriteLine(("The union of " & zone1.ToString() & " and " & _ zone2.ToString() & " is null.")) Else Console.WriteLine(("The union of " & zoneIdPerm1.SecurityZone.ToString() & " and " _ & zoneIdPerm2.SecurityZone.ToString() & " = " _ & CType(zoneIdPerm3, Object).SecurityZone.ToString())) End If ContinueWhile2: End While Catch e As Exception Console.WriteLine(e.Message) End Try ContinueWhile1: End While Return returnValue End Function 'UnionDemo
// Union creates a new permission that is the union of the current permission and the specified permission. private bool UnionDemo() { bool returnValue = true; SecurityZone zone1, zone2; ZoneIdentityPermission zoneIdPerm1, zoneIdPerm2; IPermission zoneIdPerm3; ZoneGenerator zoneGen1 = new ZoneGenerator(); ZoneGenerator zoneGen2 = new ZoneGenerator(); zoneGen1.ResetIndex(); while (zoneGen1.CreateZone(out zone1)) { zoneIdPerm1 = new ZoneIdentityPermission( zone1); Console.WriteLine("**********************************************************\n"); zoneGen2.ResetIndex(); while (zoneGen2.CreateZone(out zone2)) { zoneIdPerm2 = new ZoneIdentityPermission( zone2); try { zoneIdPerm3 = (ZoneIdentityPermission)zoneIdPerm1.Union(zoneIdPerm2); zoneIdPerm3 = zoneIdPerm1.Union(zoneIdPerm2); if (zoneIdPerm3 == null) { Console.WriteLine("The union of " + zone1 + " and " + zone2 + " is null."); } else { Console.WriteLine("The union of " + zoneIdPerm1.SecurityZone + " and " + zoneIdPerm2.SecurityZone + " = " + ((ZoneIdentityPermission)zoneIdPerm3).SecurityZone.ToString()); } } catch (Exception e) { // Expected exception. Console.WriteLine("An exception was thrown for union :" + e.Message); } } } return returnValue; }
// Union creates a new permission that is the union of the current permission and the specified permission. bool UnionDemo() { bool returnValue = true; SecurityZone zone1; SecurityZone zone2; ZoneIdentityPermission^ zoneIdPerm1; ZoneIdentityPermission^ zoneIdPerm2; IPermission^ zoneIdPerm3; ZoneGenerator^ zoneGen1 = gcnew ZoneGenerator; ZoneGenerator^ zoneGen2 = gcnew ZoneGenerator; zoneGen1->ResetIndex(); while ( zoneGen1->CreateZone( &zone1 ) ) { zoneIdPerm1 = gcnew ZoneIdentityPermission( zone1 ); Console::WriteLine( "**********************************************************\n" ); zoneGen2->ResetIndex(); while ( zoneGen2->CreateZone( &zone2 ) ) { zoneIdPerm2 = gcnew ZoneIdentityPermission( zone2 ); zoneIdPerm3 = zoneIdPerm1->Union( zoneIdPerm2 ); if ( zoneIdPerm3 == nullptr ) { Console::WriteLine( "The union of {0} and {1} is null.", zone1, zone2 ); } else { Console::WriteLine( "The union of {0} and {1} = {2}", zoneIdPerm1->SecurityZone, zoneIdPerm2->SecurityZone, (dynamic_cast<ZoneIdentityPermission^>(zoneIdPerm3))->SecurityZone ); } } } return returnValue; }
// Union creates a new permission that is the union of the // current permission and the specified permission. private boolean UnionDemo() { boolean returnValue = true; SecurityZone zone1[] = new SecurityZone[1]; SecurityZone zone2[] = new SecurityZone[1]; ZoneIdentityPermission zoneIdPerm1[] = new ZoneIdentityPermission[1]; ZoneIdentityPermission zoneIdPerm2[] = new ZoneIdentityPermission[1]; IPermission zoneIdPerm3; ZoneGenerator zoneGen1 = new ZoneGenerator(); ZoneGenerator zoneGen2 = new ZoneGenerator(); zoneGen1.ResetIndex(); while (zoneGen1.CreateZone(zoneIdPerm1, zone1)) { if (zoneIdPerm1[0] == null) { continue; } Console.WriteLine("***************************************" + "*******************\n"); zoneGen2.ResetIndex(); while (zoneGen2.CreateZone(zoneIdPerm2, zone2)) { if (zoneIdPerm2[0] == null) { continue; } zoneIdPerm3 = ((ZoneIdentityPermission)(zoneIdPerm1[0]. Union(zoneIdPerm2[0]))); zoneIdPerm3 = zoneIdPerm1[0].Union(zoneIdPerm2[0]); if (zoneIdPerm3 == null) { Console.WriteLine(("The union of " + zone1[0] + " and " + zone2[0] + " is null.")); } else { Console.WriteLine(("The union of " + zoneIdPerm1[0]. get_SecurityZone() + " and " + zoneIdPerm2[0].get_SecurityZone() + " = " + ((ZoneIdentityPermission)(zoneIdPerm3)). get_SecurityZone().ToString())); } } } return returnValue; } //UnionDemo

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からZoneIdentityPermission.Union メソッドを検索する場合は、下記のリンクをクリックしてください。

- ZoneIdentityPermission.Union メソッドのページへのリンク