ReflectionPermissionFlag 列挙体とは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > ReflectionPermissionFlag 列挙体の意味・解説 

ReflectionPermissionFlag 列挙体

表示されていないメンバ対すSystem.Reflection使用許可することを指定します

この列挙体には、メンバ値のビットごとの組み合わせ可能にする FlagsAttribute 属性含まれています。

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

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
<FlagsAttribute> _
Public Enumeration ReflectionPermissionFlag
Dim instance As ReflectionPermissionFlag
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum ReflectionPermissionFlag
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
[FlagsAttribute] 
public enum class ReflectionPermissionFlag
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute FlagsAttribute() */ 
public enum ReflectionPermissionFlag
SerializableAttribute 
ComVisibleAttribute(true) 
FlagsAttribute 
public enum ReflectionPermissionFlag
メンバメンバ
 メンバ説明
AllFlagsTypeInformationMemberAccess、および ReflectionEmit設定されます。 
MemberAccessすべての型のメンバに対して操作呼び出すことができます。このフラグ設定しないと、表示されている型のメンバに対してだけ操作呼び出すことができます。 
NoFlags表示されていないに対してリフレクション使用できません。 
ReflectionEmitSystem.Reflection.Emit が使用できます。 
TypeInformation表示されていない型のメンバに対してリフレクション使用できます。 
解説解説

この列挙体は、ReflectionPermission で使用されます。ReflectionPermission与えないと、リフレクション表示されているメンバに対してだけ使用できます

注意に関するメモ注意

ReflectionPermission使用するプライベートなクラス メンバメタデータアクセスできるため、インターネット コードには ReflectionPermission使用しないようにしてください

使用例使用例
Imports System
Imports System.Security
Imports System.Security.Permissions
Imports Microsoft.VisualBasic

Public Class ReflectionGenerator


    Private myReflection As ReflectionPermissionFlag()
 = _
        {ReflectionPermissionFlag.AllFlags, _
         ReflectionPermissionFlag.MemberAccess, _
         ReflectionPermissionFlag.NoFlags, _
         ReflectionPermissionFlag.ReflectionEmit, _
         ReflectionPermissionFlag.TypeInformation}

    Private reflectionIndex As Integer
 = 0


    Public Sub New()
        ResetIndex()
    End Sub 'New


    Public Sub ResetIndex()
        reflectionIndex = 0
    End Sub 'ResetIndex

    ' CreateReflection creates a ReflectionPermission object.
    Public Function CreateReflection(ByRef
 reflectionPerm As ReflectionPermission, ByRef
 reflection As ReflectionPermissionFlag) As Boolean

        If reflectionIndex >= myReflection.Length Then
            reflectionPerm = New ReflectionPermission(PermissionState.None)
            reflection = ReflectionPermissionFlag.NoFlags
            reflectionIndex &= 1
            Return False
        End If
        reflection = myReflection(reflectionIndex)
        reflectionIndex = reflectionIndex + 1
        Try
            reflectionPerm = New ReflectionPermission(reflection)
            Return True
        Catch e As Exception
            Console.WriteLine(("Cannot create ReflectionPermission:
 " & reflection & " " & e.ToString()))
            reflectionPerm = New ReflectionPermission(PermissionState.None)
            reflection = ReflectionPermissionFlag.NoFlags
            Return True
        End Try
    End Function 'CreateReflection
End Class 'ReflectionGenerator
 
' End of ReflectionGenerator.
using System;
using System.Security;
using System.Security.Permissions;


public class ReflectionGenerator
{


    private ReflectionPermissionFlag[] myReflection =
{
    ReflectionPermissionFlag.AllFlags,
    ReflectionPermissionFlag.MemberAccess,
    ReflectionPermissionFlag.NoFlags,
    ReflectionPermissionFlag.ReflectionEmit,
    ReflectionPermissionFlag.TypeInformation
};

    private int reflectionIndex = 0;

    public ReflectionGenerator()
    {
        ResetIndex();
    }

    public void ResetIndex()
    {
        reflectionIndex = 0;
    }
    // CreateReflection creates a ReflectionPermission object.
    public bool CreateReflection(out ReflectionPermission
 reflectionPerm,
        out ReflectionPermissionFlag reflection)
    {

        if(reflectionIndex >= myReflection.Length)
        {
            reflectionPerm = new ReflectionPermission(PermissionState.None);
            reflection=ReflectionPermissionFlag.NoFlags;
            reflectionIndex++;
            return false;
        }
        reflection = myReflection[reflectionIndex++];
        try
        {
            reflectionPerm = new ReflectionPermission(reflection);
            return true;
        }
        catch(Exception e)
        {
            Console.WriteLine("Cannot create ReflectionPermission: " +
 reflection +" "+e);
            reflectionPerm = new ReflectionPermission(PermissionState.None);
            reflection=ReflectionPermissionFlag.NoFlags;
            return true;
        }
    }
} // End of ReflectionGenerator.
using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Runtime::InteropServices;
public ref class ReflectionGenerator
{
private:
   array<ReflectionPermissionFlag>^myReflection;
   int reflectionIndex;

public:
   ReflectionGenerator()
   {
      array<ReflectionPermissionFlag>^ temp = {ReflectionPermissionFlag::AllFlags
,ReflectionPermissionFlag::MemberAccess,ReflectionPermissionFlag::NoFlags,ReflectionPermissionFlag::ReflectionEmit
,ReflectionPermissionFlag::TypeInformation};
      myReflection = temp;
      ResetIndex();
   }

   void ResetIndex()
   {
      reflectionIndex = 0;
   }


   // CreateReflection creates a ReflectionPermission Object*.
   bool CreateReflection( [Out]interior_ptr<ReflectionPermission^>
 reflectionPerm, [Out]ReflectionPermissionFlag * reflection )
   {
      if ( reflectionIndex >= myReflection->Length )
      {
          *reflectionPerm = gcnew ReflectionPermission( PermissionState::None );
          *reflection = ReflectionPermissionFlag::NoFlags;
         reflectionIndex++;
         return false;
      }

       *reflection = myReflection[ reflectionIndex++ ];
      try
      {
          *reflectionPerm = gcnew ReflectionPermission(  *reflection );
         return true;
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Cannot create ReflectionPermission: {0}{1}",
  *reflection, e );
          *reflectionPerm = gcnew ReflectionPermission( PermissionState::None );
          *reflection = ReflectionPermissionFlag::NoFlags;
         return true;
      }

   }

};

// End of ReflectionGenerator.
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
System.Security.Permissions 名前空間
ReflectionPermission クラス
ReflectionPermissionAttribute クラス



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

辞書ショートカット

すべての辞書の索引

「ReflectionPermissionFlag 列挙体」の関連用語

ReflectionPermissionFlag 列挙体のお隣キーワード
検索ランキング

   

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



ReflectionPermissionFlag 列挙体のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS