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

Dim instance As UIPermission Dim target As IPermission Dim returnValue As IPermission returnValue = instance.Intersect(target)
戻り値
現在のアクセス許可と指定したアクセス許可の積集合を表す新しいアクセス許可。積集合が空の場合、この新しいアクセス許可は null 参照 (Visual Basic では Nothing) です。


2 つのアクセス許可の積集合となるアクセス許可には、両方に共通する操作の集合が記述されています。つまり、この積集合は、現在のアクセス許可と指定されたアクセス許可の値の UIPermissionWindow と UIPermissionClipboard の最小許容値を表します。

詳細については、UIPermission クラスのトピックを参照してください。
Private Function IntersectDemo() As Boolean Dim returnValue As Boolean = True Dim ui1, ui2 As UIPermissionWindow Dim cb1, cb2 As UIPermissionClipboard Dim uiIdPerm1, uiIdPerm2, uiIdPerm3 As UIPermission Dim uiGen1 As New UIGenerator() Dim uiGen2 As New UIGenerator() uiGen1.ResetIndex() While uiGen1.CreateUI(ui1, cb1) uiIdPerm1 = New UIPermission(ui1, cb1) Console.WriteLine("**********************************************************" & ControlChars.Lf) uiGen2.ResetIndex() While uiGen2.CreateUI(ui2, cb2) uiIdPerm2 = New UIPermission(ui2, cb2) uiIdPerm3 = CType(uiIdPerm1.Intersect(uiIdPerm2), UIPermission) If Not (uiIdPerm3 Is Nothing) Then Console.WriteLine(("The intersection of " & uiIdPerm1.Window.ToString() & " and " _ & uiIdPerm1.Clipboard.ToString() & " with " & uiIdPerm2.Window.ToString() _ & " and " & uiIdPerm2.Clipboard.ToString() & " = " & ControlChars.Lf _ & ControlChars.Tab & CType(uiIdPerm3, UIPermission).Window.ToString() & " and " _ & CType(uiIdPerm3, UIPermission).Clipboard.ToString())) Else Console.WriteLine(("The intersection of " & ui1.ToString() & " and " & cb1.ToString() _ & " with " & ui2.ToString() & " and " & cb2.ToString() & " is null.")) End If ContinueWhile2: End While ContinueWhile1: End While Return returnValue End Function 'IntersectDemo
private bool IntersectDemo() { bool returnValue = true; UIPermissionWindow ui1, ui2; UIPermissionClipboard cb1, cb2; UIPermission uiIdPerm1, uiIdPerm2, uiIdPerm3; UIGenerator uiGen1 = new UIGenerator(); UIGenerator uiGen2 = new UIGenerator(); uiGen1.ResetIndex(); while (uiGen1.CreateUI( out ui1, out cb1)) { uiIdPerm1 = new UIPermission(ui1, cb1); Console.WriteLine("**********************************************************\n"); uiGen2.ResetIndex(); while (uiGen2.CreateUI(out ui2, out cb2)) { uiIdPerm2 = new UIPermission(ui2, cb2); uiIdPerm3 = (UIPermission)uiIdPerm1.Intersect(uiIdPerm2); if (uiIdPerm3 != null) { Console.WriteLine("The intersection of " + uiIdPerm1.Window + " and " + uiIdPerm1.Clipboard + " with " + uiIdPerm2.Window + " and " + uiIdPerm2.Clipboard + " = \n\t" + ((UIPermission)uiIdPerm3).Window.ToString() + " and " + ((UIPermission)uiIdPerm3).Clipboard.ToString()); } else { Console.WriteLine("The intersection of " + ui1 + " and " + cb1 + " with " + ui2 + " and " + cb2 + " is null."); } } } return returnValue; }
bool IntersectDemo() { bool returnValue = true; UIPermissionWindow ui1; UIPermissionWindow ui2; UIPermissionClipboard cb1; UIPermissionClipboard cb2; UIPermission^ uiIdPerm1; UIPermission^ uiIdPerm2; UIPermission^ uiIdPerm3; UIGenerator^ uiGen1 = gcnew UIGenerator; UIGenerator^ uiGen2 = gcnew UIGenerator; uiGen1->ResetIndex(); while ( uiGen1->CreateUI( &ui1, &cb1 ) ) { uiIdPerm1 = gcnew UIPermission( ui1, cb1 ); Console::WriteLine( "**********************************************************\n" ); uiGen2->ResetIndex(); while ( uiGen2->CreateUI( &ui2, &cb2 ) ) { uiIdPerm2 = gcnew UIPermission( ui2, cb2 ); uiIdPerm3 = dynamic_cast<UIPermission^>(uiIdPerm1->Intersect( uiIdPerm2 )); if ( uiIdPerm3 != nullptr ) { Console::WriteLine( "The intersection of {0} and {1} with {2} and {3} = \n\t{4} and {5}", uiIdPerm1->Window, uiIdPerm1->Clipboard, uiIdPerm2->Window, uiIdPerm2->Clipboard, (dynamic_cast<UIPermission^>(uiIdPerm3))->Window.ToString(), (dynamic_cast<UIPermission^>(uiIdPerm3))->Clipboard.ToString() ); } else { Console::WriteLine( "The intersection of {0} and {1} with {2} and {3} is null.", ui1, cb1, ui2, cb2 ); } } } return returnValue; }
// Intersect creates and returns a new permission that is the // intersection of the current permission and the permission specified. private boolean IntersectDemo() { boolean returnValue = true; UIPermissionWindow ui1[] = new UIPermissionWindow[1]; UIPermissionWindow ui2[] = new UIPermissionWindow[1]; UIPermissionClipboard cb1[] = new UIPermissionClipboard[1]; UIPermissionClipboard cb2[] = new UIPermissionClipboard[1]; UIPermission uiIdPerm1[] = new UIPermission[1]; UIPermission uiIdPerm2[] = new UIPermission[1]; UIPermission uiIdPerm3 = null; UIGenerator uiGen1 = new UIGenerator(); UIGenerator uiGen2 = new UIGenerator(); uiGen1.ResetIndex(); while (uiGen1.CreateUI(uiIdPerm1, ui1, cb1)) { if (uiIdPerm1[0] == null) { continue; } Console.WriteLine("************************************" + "**********************\n"); uiGen2.ResetIndex(); while (uiGen2.CreateUI(uiIdPerm2, ui2, cb2)) { if (uiIdPerm2[0] == null) { continue; } uiIdPerm3 = ((UIPermission)(uiIdPerm1[0].Intersect(uiIdPerm2[0]))); if (uiIdPerm3 != null) { Console.WriteLine(("The intersection of " + uiIdPerm1[0].get_Window() + " and " + uiIdPerm1[0].get_Clipboard() + " with " + uiIdPerm2[0].get_Window() + " and " + uiIdPerm2[0].get_Clipboard() + " = \n\t" + ((UIPermission)(uiIdPerm3)).get_Window().ToString() + " and " + ((UIPermission)(uiIdPerm3)).get_Clipboard(). ToString())); } else { Console.WriteLine(("The intersection of " + ui1[0] + " and " + cb1[0] + " with " + ui2[0] + " and " + cb2[0] + " is null.")); } } } return returnValue; } //IntersectDemo

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- UIPermission.Intersect メソッドのページへのリンク