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

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


Union メソッドを呼び出すと、現在のアクセス許可が表す URL へのアクセス権に加え、指定したアクセス許可が表す URL へのアクセス権を表すアクセス許可が作成されます。
現在のアクセス許可が、指定したアクセス許可と等しい場合、またはいずれかのアクセス許可がワイルドカード演算子 ("*") を使用し、一方が他方のサブセットである場合だけ、UrlIdentityPermission クラスは set 操作 (IsSubsetOf、Intersect、および Union) をサポートします。

次に示すのは、Union メソッドを使用した場合の結果を示すコード例です (メソッドの使用方法を示すものではありません)。ここに示すコードは、より長いコードの一部です。よりよく理解するためには、コード全体を記述して実行し、その出力を確認することをお勧めします。完全なコードについては、UrlIdentityPermission クラスを参照してください。
' 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 url1 As String = "" Dim url2 As String = "" Dim urlIdPerm1, urlIdPerm2 As UrlIdentityPermission Dim urlIdPerm3 As IPermission Dim urlGen1 As New UrlGenerator() Dim urlGen2 As New UrlGenerator() urlGen1.ResetIndex() While urlGen1.CreateUrl(url1) urlIdPerm1 = New UrlIdentityPermission(url1) Console.WriteLine("**********************************************************" & ControlChars.Lf) urlGen2.ResetIndex() While urlGen2.CreateUrl(url2) Try urlIdPerm2 = New UrlIdentityPermission(url2) Dim firstPermission As String = IIf(url1 = "" Or url1 Is Nothing, "null", url1) Dim secondPermission As String = IIf(url2 = "" Or url2 Is Nothing, "null", url2) urlIdPerm3 = CType(urlIdPerm1.Union(urlIdPerm2), UrlIdentityPermission) urlIdPerm3 = urlIdPerm1.Union(urlIdPerm2) If urlIdPerm3 Is Nothing Then Console.WriteLine("The union of " & firstPermission & " and " & ControlChars.Lf & ControlChars.Tab & secondPermission & " is null.") Else Console.WriteLine("The union of " & firstPermission & " and " & ControlChars.Lf & ControlChars.Tab & secondPermission & " = " & ControlChars.Lf & ControlChars.Tab & CType(urlIdPerm3, UrlIdentityPermission).Url.ToString()) End If Catch e As Exception 'Expected exception. Console.WriteLine("An exception was thrown for union :" & e.ToString()) End Try ContinueWhile2: End While 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; string url1, url2; UrlIdentityPermission urlIdPerm1, urlIdPerm2; IPermission urlIdPerm3; UrlGenerator urlGen1 = new UrlGenerator(); UrlGenerator urlGen2 = new UrlGenerator(); urlGen1.ResetIndex(); while (urlGen1.CreateUrl(out url1)) { urlIdPerm1 = new UrlIdentityPermission(url1); Console.WriteLine("**********************************************************\n"); urlGen2.ResetIndex(); while (urlGen2.CreateUrl(out url2)) { try { urlIdPerm2 = new UrlIdentityPermission(url2); string firstPermission = url1 == "" | url1 == null ? "null" : url1; string secondPermission = url2 == "" | url2 == null ? "null" : url2; urlIdPerm3 = (UrlIdentityPermission)urlIdPerm1.Union(urlIdPerm2); urlIdPerm3 = urlIdPerm1.Union(urlIdPerm2); if (urlIdPerm3 == null) { Console.WriteLine("The union of " + firstPermission + " and \n\t" + secondPermission + " is null."); } else { Console.WriteLine("The union of " + firstPermission + " and \n\t" + secondPermission + " = \n\t" + ((UrlIdentityPermission)urlIdPerm3).Url.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. private boolean UnionDemo() { boolean returnValue = true; String url1[] = new String[1]; String url2[] = new String[1]; UrlIdentityPermission urlIdPerm1[] = new UrlIdentityPermission[1]; UrlIdentityPermission urlIdPerm2[] = new UrlIdentityPermission[1]; IPermission urlIdPerm3; UrlGenerator urlGen1 = new UrlGenerator(); UrlGenerator urlGen2 = new UrlGenerator(); urlGen1.ResetIndex(); while (urlGen1.CreateUrl(urlIdPerm1, url1)) { if (urlIdPerm1 == null) { continue; } Console.WriteLine("******************************************" + "****************\n"); urlGen2.ResetIndex(); while (urlGen2.CreateUrl(urlIdPerm2, url2)) { try { if (urlIdPerm2 == null) { continue; } String firstPermission = (url1[0] == "" || url1[0] == null) ? "null" : url1[0]; String secondPermission = (url2[0] == "" || url2[0] == null) ? "null" : url2[0]; urlIdPerm3 = ((UrlIdentityPermission)(urlIdPerm1[0]. Union(urlIdPerm2[0]))); urlIdPerm3 = urlIdPerm1[0].Union(urlIdPerm2[0]); if (urlIdPerm3 == null) { Console.WriteLine(("The union of " + firstPermission + " and \n\t" + secondPermission + " is null.")); } else { Console.WriteLine(("The union of " + firstPermission + " and \n\t" + secondPermission + " = \n\t" + ((UrlIdentityPermission)(urlIdPerm3)). get_Url().ToString())); } } catch (System.Exception e) { Console.WriteLine(("An exception was thrown for union :" + e)); returnValue = false; } } } 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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