SocketPermission.Union メソッド
アセンブリ: System (system.dll 内)

Dim instance As SocketPermission Dim target As IPermission Dim returnValue As IPermission returnValue = instance.Union(target)
戻り値
2 つの SocketPermission インスタンスの和集合を表す SocketPermission インスタンス。target が null 参照 (Visual Basic では Nothing) の場合、このパラメータは現在のインスタンスのコピーを返します。

例外の種類 | 条件 |
---|---|
ArgumentException | target が SocketPermission ではありません。 |

Union を呼び出すとアクセス許可が作成されます。これは、現在のインスタンスが表す Socket 接続へのすべてのアクセスと、target が表すアクセスを示します。現在のインスタンスまたは target のアクセス許可を求めていずれかが与えられた要求の場合は、両者の和集合を表すアクセス許可に対しても成功します。このメソッドは、Union をオーバーライドし、IPermission インターフェイスをサポートするために実装されます。

Union メソッドを使用して、2 つの既存の SocketPermission インスタンス間の論理和集合を返す例を次に示します。
' Creates a SocketPermission restricting access to and from all URIs. Dim mySocketPermission1 As New SocketPermission(PermissionState.None) ' The socket to which this permission will apply will allow connections from www.contoso.com. mySocketPermission1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.contoso.com", 11000) ' Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com. Dim mySocketPermission2 As New SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "www.southridgevideo.com", 11002) ' Creates a SocketPermission from the union of two SocketPermissions. Dim mySocketPermissionUnion As SocketPermission = CType(mySocketPermission1.Union(mySocketPermission2), SocketPermission) ' Checks to see if the union was successfully created by using the IsSubsetOf method. If mySocketPermission1.IsSubsetOf(mySocketPermissionUnion) And mySocketPermission2.IsSubsetOf(mySocketPermissionUnion) Then Console.WriteLine("This union contains permissions from both mySocketPermission1 and mySocketPermission2") ' Prints the allowable accept URIs to the console. Console.WriteLine("This union accepts connections on :") Dim myEnumerator As IEnumerator = mySocketPermissionUnion.AcceptList While myEnumerator.MoveNext() Console.WriteLine(CType(myEnumerator.Current, EndpointPermission).ToString()) End While Console.WriteLine("This union establishes connections on : ") ' Prints the allowable connect URIs to the console. Console.WriteLine("This union permits connections to :") myEnumerator = mySocketPermissionUnion.ConnectList While myEnumerator.MoveNext() Console.WriteLine(CType(myEnumerator.Current, EndpointPermission).ToString()) End While End If
// Creates a SocketPermission restricting access to and from all URIs. SocketPermission mySocketPermission1 = new SocketPermission(PermissionState.None); // The socket to which this permission will apply will allow connections from www.contoso.com. mySocketPermission1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.contoso.com", 11000); // Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com. SocketPermission mySocketPermission2 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "www.southridgevideo.com", 11002); // Creates a SocketPermission from the union of two SocketPermissions. SocketPermission mySocketPermissionUnion = (SocketPermission)mySocketPermission1.Union(mySocketPermission2); // Checks to see if the union was successfully created by using the IsSubsetOf method. if (mySocketPermission1.IsSubsetOf(mySocketPermissionUnion) && mySocketPermission2.IsSubsetOf(mySocketPermissionUnion)){ Console.WriteLine("This union contains permissions from both mySocketPermission1 and mySocketPermission2"); // Prints the allowable accept URIs to the console. Console.WriteLine("This union accepts connections on :"); IEnumerator myEnumerator = mySocketPermissionUnion.AcceptList; while (myEnumerator.MoveNext()) { Console.WriteLine(((EndpointPermission)myEnumerator.Current).ToString()); } // Prints the allowable connect URIs to the console. Console.WriteLine("This union permits connections to :"); myEnumerator = mySocketPermissionUnion.ConnectList; while (myEnumerator.MoveNext()) { Console.WriteLine(((EndpointPermission)myEnumerator.Current).ToString()); } }
// Creates a SocketPermission restricting access to and from all URIs. SocketPermission^ mySocketPermission1 = gcnew SocketPermission( PermissionState::None ); // The socket to which this permission will apply will allow connections from www.contoso.com. mySocketPermission1->AddPermission( NetworkAccess::Accept, TransportType::Tcp, "www.contoso.com", 11000 ); // Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com. SocketPermission^ mySocketPermission2 = gcnew SocketPermission( NetworkAccess::Connect,TransportType::Tcp, "www.southridgevideo.com",11002 ); // Creates a SocketPermission from the union of two SocketPermissions. SocketPermission^ mySocketPermissionUnion = (SocketPermission^)( mySocketPermission1->Union( mySocketPermission2 ) ); // Checks to see if the union was successfully created by using the IsSubsetOf method. if ( mySocketPermission1->IsSubsetOf( mySocketPermissionUnion ) && mySocketPermission2->IsSubsetOf( mySocketPermissionUnion ) ) { Console::WriteLine( "This union contains permissions from both mySocketPermission1 and mySocketPermission2" ); // Prints the allowable accept URIs to the console. Console::WriteLine( "This union accepts connections on :" ); IEnumerator^ myEnumerator = mySocketPermissionUnion->AcceptList; while ( myEnumerator->MoveNext() ) { Console::WriteLine( safe_cast<EndpointPermission^>( myEnumerator->Current )->ToString() ); } // Prints the allowable connect URIs to the console. Console::WriteLine( "This union permits connections to :" ); myEnumerator = mySocketPermissionUnion->ConnectList; while ( myEnumerator->MoveNext() ) { Console::WriteLine( safe_cast<EndpointPermission^>( myEnumerator->Current )->ToString() ); } }
// Creates a SocketPermission restricting access to and from all URIs. SocketPermission mySocketPermission1 = new SocketPermission(PermissionState.None); // The socket to which this permission will apply will allow // connections from www.contoso.com. mySocketPermission1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.contoso.com", 11000); // Creates a SocketPermission which will allow the target Socket to // connect with www.southridgevideo.com. SocketPermission mySocketPermission2 = new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "www.southridgevideo.com", 11002); // Creates a SocketPermission from the union of two SocketPermissions. SocketPermission mySocketPermissionUnion = (SocketPermission)mySocketPermission1.Union(mySocketPermission2); // Checks to see if the union was successfully created by using the // IsSubsetOf method. if (mySocketPermission1.IsSubsetOf(mySocketPermissionUnion) && mySocketPermission2.IsSubsetOf(mySocketPermissionUnion)) { Console.WriteLine("This union contains permissions from both " + "mySocketPermission1 and mySocketPermission2"); // Prints the allowable accept URIs to the console. Console.WriteLine("This union accepts connections on :"); IEnumerator myEnumerator = mySocketPermissionUnion. get_AcceptList(); while (myEnumerator.MoveNext()) { Console.WriteLine(((EndpointPermission)myEnumerator. get_Current()).ToString()); } // Prints the allowable connect URIs to the console. Console.WriteLine("This union permits connections to :"); myEnumerator = mySocketPermissionUnion.get_ConnectList(); while (myEnumerator.MoveNext()) { Console.WriteLine(((EndpointPermission)myEnumerator. get_Current()).ToString()); } }

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に収録されているすべての辞書からSocketPermission.Union メソッドを検索する場合は、下記のリンクをクリックしてください。

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