CodeAccessPermission.IsSubsetOf メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CodeAccessPermission.IsSubsetOf メソッドの意味・解説 

CodeAccessPermission.IsSubsetOf メソッド

派生クラスによって実装されるときに、現在のアクセス許可が、指定したアクセス許可サブセットかどうか判断します

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public MustOverride Function
 IsSubsetOf ( _
    target As IPermission _
) As Boolean
Dim instance As CodeAccessPermission
Dim target As IPermission
Dim returnValue As Boolean

returnValue = instance.IsSubsetOf(target)
public abstract bool IsSubsetOf (
    IPermission target
)
public:
virtual bool IsSubsetOf (
    IPermission^ target
) abstract
public abstract boolean IsSubsetOf (
    IPermission target
)
public abstract function IsSubsetOf (
    target : IPermission
) : boolean

パラメータ

target

サブセットの関係を調べ対象アクセス許可。これは、現在のアクセス許可と同じ型であることが必要です。

戻り値
現在のアクセス許可が、指定したアクセス許可サブセットである場合trueそれ以外場合false

例外例外
例外種類条件

ArgumentException

target パラメータnull 参照 (Visual Basic では Nothing) ではなく現在のアクセス許可と同じ型でもありません。

解説解説

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

IsSubsetOf メソッドすべてのオーバーライドで、次に示すステートメントtrue である必要がありますXY、および Z は、null 参照以外のカスタム コードアクセス許可オブジェクト表しますU無制限コード アクセス許可表しますまた、N は、PermissionState が None に設定された空のアクセス許可表します

X および Ynull 参照であるカスタム コード アクセス許可オブジェクトを表す場合X.IsSubsetOf(Y) は true返しますZnull である場合複合セット操作 X.Union(Y).IsSubsetOf(Z) も true返します2 つnull アクセス許可結合は、null アクセス許可であるためです。

継承時の注意 派生クラスでこのメソッドオーバーライドする必要があります

使用例使用例

IsSubsetOf メソッドオーバーライドする方法次のコード例示します。このコード例は、CodeAccessPermission クラストピック取り上げているコード例一部分です。

        Public Overrides Function
 IsSubsetOf(ByVal target As IPermission) As
 Boolean

#If (Debug) Then

            Console.WriteLine("************* Entering IsSubsetOf
 *********************")
#End If
            If target Is Nothing
 Then
                Console.WriteLine("IsSubsetOf: target == null")
                Return False
            End If
#If (Debug) Then
            Console.WriteLine(("This is = " + CType(Me,
 NameIdPermission).Name))
            Console.WriteLine(("Target is " + CType(target,
 NameIdPermission).m_name))
#End If
            Try
                Dim operand As NameIdPermission
 = CType(target, NameIdPermission)

                ' The following check for unrestricted permission is
 only included as an example for
                ' permissions that allow the unrestricted state. It
 is of no value for this permission.
                If True = operand.m_Unrestricted
 Then
                    Return True
                ElseIf True = Me.m_Unrestricted
 Then
                    Return False
                End If

                If Not (Me.m_name
 Is Nothing) Then
                    If operand.m_name Is Nothing
 Then
                        Return False
                    End If
                    If Me.m_name = ""
 Then
                        Return True
                    End If
                End If
                If Me.m_name.Equals(operand.m_name)
 Then
                    Return True
                Else
                    ' Check for wild card character '*'.
                    Dim i As Integer
 = operand.m_name.LastIndexOf("*")

                    If i > 0 Then
                        Dim prefix As String
 = operand.m_name.Substring(0, i)

                        If Me.m_name.StartsWith(prefix)
 Then
                            Return True
                        End If
                    End If
                End If

                Return False
            Catch
                Throw New ArgumentException(String.Format("Argument_WrongType",
 Me.GetType().FullName))
            End Try
        End Function 'IsSubsetOf

        public override bool IsSubsetOf(IPermission
 target)
        {
#if(debug)
            Console.WriteLine ("************* Entering IsSubsetOf *********************");
#endif
            if (target == null)
            {
                Console.WriteLine ("IsSubsetOf: target == null");
                return false;
            }
#if(debug)

            Console.WriteLine ("This is = " + (( NameIdPermission)this).Name);
            Console.WriteLine ("Target is " + (( NameIdPermission)target).m_Name);
#endif
            try
            {
                 NameIdPermission operand = ( NameIdPermission)target;

                // The following check for unrestricted permission is
 only included as an example for
                // permissions that allow the unrestricted state. It
 is of no value for this permission.
                if (true == operand.m_Unrestricted)
                {
                    return true;
                }
                else if (true
 == this.m_Unrestricted)
                {
                    return false;
                }

                if (this.m_Name != null)
                {
                    if (operand.m_Name == null)
 return false;

                    if (this.m_Name == "")
 return true;
                }

                if (this.m_Name.Equals (operand.m_Name))
 return true;
                else
                {
                    // Check for wild card character '*'.
                    int i = operand.m_Name.LastIndexOf ("*");

                    if (i > 0)
                    {
                        string prefix = operand.m_Name.Substring
 (0, i);

                        if (this.m_Name.StartsWith
 (prefix))
                        {
                            return true;
                        }
                    }
                }

                return false;
            }
            catch (InvalidCastException)
            {
                throw new ArgumentException (String.Format ("Argument_WrongType",
 this.GetType ().FullName));
            }
        }
public:
   virtual bool IsSubsetOf( IPermission^ target ) override
   {
#if ( debug ) 
      Console::WriteLine( "************* Entering IsSubsetOf *********************"
 );
#endif

      if ( target == nullptr )
      {
         Console::WriteLine( "IsSubsetOf: target == null"
 );
         return false;
      }

#if ( debug ) 
      Console::WriteLine( "This is = {0}", ((NameIdPermission)this).Name
 );
      Console::WriteLine( "Target is {0}", ((NameIdPermission)target).m_Name
 );
#endif

      try
      {
         NameIdPermission^ operand = dynamic_cast<NameIdPermission^>(target);
         
         // The following check for unrestricted permission is only
 included as an example for
         // permissions that allow the unrestricted state. It is of
 no value for this permission.
         if ( true == operand->m_Unrestricted
 )
         {
            return true;
         }
         else if ( true
 == this->m_Unrestricted )
         {
            return false;
         }

         if ( this->m_Name != nullptr )
         {
            if ( operand->m_Name == nullptr )
            {
               return false;
            }
            if ( this->m_Name->Equals(
 "" ) )
            {
               return true;
            }
         }

         if ( this->m_Name->Equals( operand->m_Name
 ) )
         {
            return true;
         }
         else
         {
            // Check for wild card character '*'.
            int i = operand->m_Name->LastIndexOf( "*"
 );

            if ( i > 0 )
            {
               String^ prefix = operand->m_Name->Substring( 0, i );
               if ( this->m_Name->StartsWith(
 prefix ) )
               {
                  return true;
               }
            }
         }
         return false;
      }
      catch ( InvalidCastException^ ) 
      {
         throw gcnew ArgumentException( String::Format( "Argument_WrongType",
 this->GetType()->FullName ) );
      }
   }
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CodeAccessPermission クラス
CodeAccessPermission メンバ
System.Security 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からCodeAccessPermission.IsSubsetOf メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCodeAccessPermission.IsSubsetOf メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCodeAccessPermission.IsSubsetOf メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

CodeAccessPermission.IsSubsetOf メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CodeAccessPermission.IsSubsetOf メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS