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

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

FileIOPermission.Intersect メソッド

現在のアクセス許可と指定したアクセス許可の積集合を表すアクセス許可を作成して返します。

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

Public Overrides Function
 Intersect ( _
    target As IPermission _
) As IPermission
Dim instance As FileIOPermission
Dim target As IPermission
Dim returnValue As IPermission

returnValue = instance.Intersect(target)
public override IPermission Intersect (
    IPermission target
)
public:
virtual IPermission^ Intersect (
    IPermission^ target
) override
public IPermission Intersect (
    IPermission target
)
public override function Intersect (
    target : IPermission
) : IPermission

パラメータ

target

現在のアクセス許可との積集合を持つアクセス許可。これは、現在のアクセス許可と同じ型であることが必要です。

戻り値
現在のアクセス許可と指定したアクセス許可の積集合を表す新しいアクセス許可。積集合が空の場合、この新しいアクセス許可オブジェクトは null 参照 (Visual Basic では Nothing) です。

例外例外
例外の種類条件

ArgumentException

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

解説解説
使用例使用例
    Private Function IntersectDemo() As
 Boolean

        Dim returnValue As Boolean
 = True

        Dim fileIO1 As String
 = ""
        Dim fileIO2 As String
 = ""
        Dim fileIOPerm1, fileIOPerm2, fileIOPerm3 As
 FileIOPermission

        Dim fileIOGen1 As New
 FileIOGenerator()
        Dim fileIOGen2 As New
 FileIOGenerator()

        fileIOGen1.ResetIndex()
        While fileIOGen1.CreateFilePath(fileIO1)
            If fileIO1 = "" Then
                fileIOPerm1 = New FileIOPermission(PermissionState.None)
            Else
                fileIOPerm1 = New FileIOPermission(FileIOPermissionAccess.Read,
 fileIO1)
            End If
            Console.WriteLine("**********************************************************"
 & ControlChars.Lf)
            fileIOGen2.ResetIndex()

            While fileIOGen2.CreateFilePath(fileIO2)
                If fileIO2 = ""
 Then
                    fileIOPerm2 = New FileIOPermission(PermissionState.None)
                Else
                    fileIOPerm2 = New FileIOPermission(FileIOPermissionAccess.Read,
 fileIO2)
                End If
                Dim firstPermission As String
 = IIf(fileIO1 = "" Or fileIO1
 Is Nothing, "null", fileIO1)
                Dim secondPermission As String
 = IIf(fileIO2 = "" Or fileIO2
 Is Nothing, "null", fileIO2)
                Try

                    fileIOPerm3 = CType(fileIOPerm1.Intersect(fileIOPerm2), FileIOPermission)
                    If Not (fileIOPerm3 Is
 Nothing) AndAlso Not (fileIOPerm3.GetPathList(FileIOPermissionAccess.Read)
 Is Nothing) Then

                        Console.WriteLine(("The intersection of
 " & firstPermission & "  and "
 & ControlChars.Lf & ControlChars.Tab & secondPermission & " = " & ControlChars.Lf & ControlChars.Tab &
 CType(fileIOPerm3, FileIOPermission).GetPathList(FileIOPermissionAccess.Read)(0)))
                    Else
                        Console.WriteLine(("The intersection of
 " & firstPermission & "  and "
 & secondPermission & " is null."))
                    End If
                Catch e As Exception
                    Console.WriteLine(("An exception was thrown
 for intersection " & e.ToString()))
                    returnValue = False
                End Try
ContinueWhile2:
            End While
ContinueWhile1:
        End While

        Return returnValue
    End Function 'IntersectDemo
private bool IntersectDemo()
{

    bool returnValue = true;

    string fileIO1, fileIO2;
    FileIOPermission fileIOPerm1, fileIOPerm2, fileIOPerm3;

    FileIOGenerator fileIOGen1 = new FileIOGenerator();
    FileIOGenerator fileIOGen2 = new FileIOGenerator();

    fileIOGen1.ResetIndex();
    while (fileIOGen1.CreateFilePath(out fileIO1 ))
    {
        if (fileIO1 == "")
            fileIOPerm1 = new FileIOPermission(PermissionState.None);
        else
            fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.Read,
 fileIO1);

        Console.WriteLine("**********************************************************\n");
        fileIOGen2.ResetIndex();

        while (fileIOGen2.CreateFilePath( out fileIO2 ))
        {
            if (fileIO2 == "")
                fileIOPerm2 = new FileIOPermission(PermissionState.None);
            else
                fileIOPerm2 = new FileIOPermission(FileIOPermissionAccess.Read,
 fileIO2);
            string firstPermission = fileIO1 == "" |
 fileIO1 == null ? "null" : fileIO1;
            string secondPermission = fileIO2 == ""
 | fileIO2 == null ? "null" : fileIO2;
            try
            {

                fileIOPerm3 = (FileIOPermission)fileIOPerm1.Intersect(fileIOPerm2);
                if (fileIOPerm3 != null &&
 fileIOPerm3.GetPathList(FileIOPermissionAccess.Read) != null)
                {

                    Console.WriteLine("The intersection of " + firstPermission
 + " and \n\t" + secondPermission +
                        " = \n\t" + ((FileIOPermission)fileIOPerm3).GetPathList(FileIOPermissionAccess.Read)[0]);
                }
                else
                {
                    Console.WriteLine("The intersection of " + firstPermission
 + " and " + secondPermission + " is null.");
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception was thrown for
 intersection " + e);
                returnValue = false;
            }
        }
    }

    return returnValue;

}
bool IntersectDemo()
{
   bool returnValue = true;
   String^ fileIO1;
   String^ fileIO2;
   FileIOPermission^ fileIOPerm1;
   FileIOPermission^ fileIOPerm2;
   FileIOPermission^ fileIOPerm3;
   FileIOGenerator^ fileIOGen1 = gcnew FileIOGenerator;
   FileIOGenerator^ fileIOGen2 = gcnew FileIOGenerator;
   fileIOGen1->ResetIndex();
   while ( fileIOGen1->CreateFilePath ( &fileIO1  ) )
   {
      if (fileIO1 == "")
          fileIOPerm1 = gcnew FileIOPermission(PermissionState::None);
       else
           fileIOPerm1 = gcnew FileIOPermission(FileIOPermissionAccess::Read, fileIO1);

      Console::WriteLine( "**********************************************************\n"
 );
      fileIOGen2->ResetIndex();
      while ( fileIOGen2->CreateFilePath( &fileIO2  ) )
      {
         if (fileIO2 == "")
             fileIOPerm2 = gcnew FileIOPermission(PermissionState::None);
         else
           fileIOPerm2 = gcnew FileIOPermission(FileIOPermissionAccess::Read, fileIO2);
         String^ firstPermission = fileIO1 == "" || fileIO1 == nullptr
 ? "null" : fileIO1;
         String^ secondPermission = fileIO2 == "" || fileIO2 == nullptr
 ? "null" : fileIO2;
         try
         {
            fileIOPerm3 = dynamic_cast<FileIOPermission^>(fileIOPerm1->Intersect(
 fileIOPerm2 ));
            if ( fileIOPerm3 != nullptr && fileIOPerm3->GetPathList(
 FileIOPermissionAccess::Read ) != nullptr )
            {
               Console::WriteLine( "The intersection of {0}  and \n\t{1} = \n\t{2}",
 firstPermission, secondPermission, (dynamic_cast<FileIOPermission^>(fileIOPerm3))->GetPathList(
 FileIOPermissionAccess::Read )[ 0 ] );
            }
            else
            {
               Console::WriteLine( "The intersection of {0}  and {1} is null.",
 firstPermission, secondPermission );
            }
         }
         catch ( Exception^ e ) 
         {
            Console::WriteLine( "An exception was thrown for
 intersection {0}", e );
            returnValue = false;
         }

      }
   }

   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;
    String fileIO1[] = new String[1];
    String fileIO2[] = new String[1];
    FileIOPermission fileIOPerm1[] = new FileIOPermission[1];
    FileIOPermission fileIOPerm2[] = new FileIOPermission[1];
    FileIOPermission fileIOPerm3;
    
    FileIOGenerator fileIOGen1 =  new FileIOGenerator();
    FileIOGenerator fileIOGen2 =  new FileIOGenerator();
    
    fileIOGen1.ResetIndex();
    while(fileIOGen1.CreateFilePath(fileIOPerm1, fileIO1, 
        FileIOPermissionAccess.Read)) {
        if (fileIO1[0] == null) {
            continue ;
        }
        Console.WriteLine("***************************" 
            + "*******************************\n");
        fileIOGen2.ResetIndex();
        
        while(fileIOGen2.CreateFilePath(fileIOPerm2, fileIO2,
 
            FileIOPermissionAccess.Read)) {
            if ( fileIOPerm2[0] == null  )
 {
                continue ;
            }
            String firstPermission = (fileIO1[0].equals("") == 
                true | fileIO1[0] == null)
 ? "null" : fileIO1[0];
            String secondPermission = (fileIO2[0].equals("") == 
                true | fileIO2[0] == null)
 ? "null" : fileIO2[0];
            try {
                fileIOPerm3 =((FileIOPermission)(fileIOPerm1[0].
                Intersect(fileIOPerm2[0])));
                if (fileIOPerm3  != null &&
 
                    fileIOPerm3.GetPathList(FileIOPermissionAccess.Read)
                    != null) {
                    Console.WriteLine(("The intersection of " 
                        + firstPermission + " and \n\t" 
                        + secondPermission + " = \n\t" 
                        + ((FileIOPermission)(fileIOPerm3)).
                        GetPathList(FileIOPermissionAccess.Read).
                        get_Item( 0)));
                }
                else {
                    Console.WriteLine(("The intersection of " 
                        + firstPermission + " and " 
                        + secondPermission + " is null."));
                }
            }
            catch(System.Exception e) {
                Console.WriteLine(("An exception was " 
                    + "thrown for intersection " + e));
                    returnValue = false;
            }
        }
    }
    return returnValue ;
} //IntersectDemo    
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
FileIOPermission クラス
FileIOPermission メンバ
System.Security.Permissions 名前空間



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



FileIOPermission.Intersect メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS