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

Dim instance As SocketPermission Dim target As IPermission Dim returnValue As Boolean returnValue = instance.IsSubsetOf(target)
戻り値
target が null 参照 (Visual Basic では Nothing) で、現在のインスタンスがアクセス許可を定義していない場合、このメソッドは true を返します。それ以外の場合は、false を返します。target が null 参照 (Visual Basic では Nothing) ではなく、現在のインスタンスが target のアクセス許可のサブセットを定義している場合は、true を返します。それ以外の場合は false を返します。


現在のアクセス許可で指定される操作の集合が、指定したアクセス許可に完全に含まれる場合、現在のアクセス許可オブジェクトは指定したアクセス許可オブジェクトのサブセットです。
たとえば、192.168.1.1:80 へのアクセスを表すアクセス許可は、192.168.1.1:Any へのアクセスを表すアクセス許可のサブセットです。このメソッドが true を返す場合、現在のアクセス許可が保護されたリソースに対して表すアクセス権は、指定したアクセス許可が表すアクセス権と同じか、またはそのサブセットです

ある SocketPermission が他のサブセットかどうかを、IsSubsetOf メソッドを使用して確認する例を次に示します。
' 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.IsSubsetOf メソッドを検索する場合は、下記のリンクをクリックしてください。

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