次の方法で共有


SiteIdentityPermission.IsSubsetOf メソッド

現在のアクセス許可が、指定したアクセス許可のサブセットかどうかを判断します。

Overrides Public Function IsSubsetOf( _
   ByVal target As IPermission _) As Boolean Implements IPermission.IsSubsetOf
[C#]
public override bool IsSubsetOf(IPermissiontarget);
[C++]
public: bool IsSubsetOf(IPermission* target);
[JScript]
public override function IsSubsetOf(
   target : IPermission) : Boolean;

パラメータ

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

戻り値

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

実装

IPermission.IsSubsetOf

例外

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

解説

現在のアクセス許可で指定されるアクセス操作が、指定したアクセス許可に完全に含まれる場合、現在のアクセス許可は指定したアクセス許可のサブセットです。

現在のアクセス許可と指定したアクセス許可の値の範囲で、 IsSubsetOf の値を次の表に示します。

現在のアクセス許可 指定したアクセス許可 IsSubsetOf
www.fourthcoffee.com www.fourthcoffee.com true
www.fourthcoffee.com www.tailspintoys.com false
www.fourthcoffee.com *.fourthcoffee.com true
www.fourthcoffee.com *.com true
*.fourthcoffee.com www.fourthcoffee.com false
*.fourthcoffee.com *.fourthcoffee.com true
*.fourthcoffee.com *.com true
None 以外の任意の文字列 * true
None 任意の文字列 true

使用例

 
' IsSubsetOf determines whether the current permission is a subset of the specified permission.
Private Function IsSubsetOfDemo() As Boolean
    Dim returnCodeCode As Boolean = True

    Dim site1, site2 As [String]
    Dim successFlag As Boolean
    Dim siteIdPerm1, siteIdPerm2 As SiteIdentityPermission

    Dim siteGen1 As New SiteGenerator()
    Dim siteGen2 As New SiteGenerator()

    siteGen1.ResetIndex()
    While siteGen1.CreateSite(siteIdPerm1, site1, successFlag)
        If siteIdPerm1 Is Nothing Or successFlag = False Then
            GoTo ContinueWhile1
        End If
        siteGen2.ResetIndex()
        Console.WriteLine("**************************************************************************")
        While siteGen2.CreateSite(siteIdPerm2, site2, successFlag)
            Try
                If siteIdPerm2 Is Nothing Or successFlag = False Then
                    GoTo ContinueWhile2
                End If
                If siteIdPerm1.IsSubsetOf(siteIdPerm2) Then
                    Console.WriteLine((site1 & " is a subset of " & site2))
                Else
                    Console.WriteLine((site1 & " is not a subset of " & site2))
                End If
            Catch e As Exception
                Console.WriteLine(("An exception was thrown : " & e.ToString()))
                Return False
            End Try
ContinueWhile2:
        End While
ContinueWhile1:
    End While


    Return returnCodeCode
End Function 'IsSubsetOfDemo


[C#] 
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
private bool IsSubsetOfDemo()
{
    bool returnCodeCode = true;

    String site1,site2;
    bool successFlag;
    SiteIdentityPermission siteIdPerm1,siteIdPerm2;

    SiteGenerator siteGen1 = new SiteGenerator();
    SiteGenerator siteGen2 = new SiteGenerator();

    siteGen1.ResetIndex();
    while(siteGen1.CreateSite(out siteIdPerm1, out site1, out successFlag)) 
    {
        if(siteIdPerm1 == null | successFlag == false) continue;
        siteGen2.ResetIndex();
        Console.WriteLine("**************************************************************************");
        while(siteGen2.CreateSite(out siteIdPerm2, out site2, out successFlag)) 
        {
            try
            {
                if(siteIdPerm2 == null | successFlag == false) continue;

                if(siteIdPerm1.IsSubsetOf(siteIdPerm2))
                {
                    Console.WriteLine(site1 + " is a subset of " + site2);
                } 
                else 
                {
                    Console.WriteLine(site1 + " is not a subset of " + site2);

                } 
            }
            catch (Exception e)
            {
                Console.WriteLine ( "An exception was thrown : " + e);
                return false;
            }
        
        }
    }


    return returnCodeCode;

}

[C++] 
// IsSubsetOf determines whether the current permission is a subset of the specified permission.
bool IsSubsetOfDemo() {
   bool returnCodeCode = true;

   String* site1, *site2;
   bool successFlag;
   SiteIdentityPermission* siteIdPerm1, *siteIdPerm2;

   SiteGenerator* siteGen1 = new SiteGenerator();
   SiteGenerator* siteGen2 = new SiteGenerator();

   siteGen1->ResetIndex();
   while(siteGen1->CreateSite(&siteIdPerm1, &site1, &successFlag)) {
      if (siteIdPerm1 == 0 || successFlag == false) continue;
      siteGen2->ResetIndex();
      Console::WriteLine(S"**************************************************************************");
      while(siteGen2->CreateSite(&siteIdPerm2, &site2, &successFlag)) {
         try {
            if (siteIdPerm2 == 0 || successFlag == false) continue;

            if (siteIdPerm1->IsSubsetOf(siteIdPerm2)) {
               Console::WriteLine(S"{0} is a subset of {1}", site1, site2);
            } else {
               Console::WriteLine(S"{0} is not a subset of {1}", site1, site2);

            }
         } catch (Exception* e) {
            Console::WriteLine (S"An exception was thrown : {0}", e);
            return false;
         }
      }
   }
   return returnCodeCode;
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

SiteIdentityPermission クラス | SiteIdentityPermission メンバ | System.Security.Permissions 名前空間