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

FieldAttributes 列挙体

フィールド属性記述するフラグ指定します

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

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

<SerializableAttribute> _
<FlagsAttribute> _
<ComVisibleAttribute(True)> _
Public Enumeration FieldAttributes
Dim instance As FieldAttributes
[SerializableAttribute] 
[FlagsAttribute] 
[ComVisibleAttribute(true)] 
public enum FieldAttributes
[SerializableAttribute] 
[FlagsAttribute] 
[ComVisibleAttribute(true)] 
public enum class FieldAttributes
/** @attribute SerializableAttribute() */ 
/** @attribute FlagsAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public enum FieldAttributes
SerializableAttribute 
FlagsAttribute 
ComVisibleAttribute(true) 
public enum FieldAttributes
メンバメンバ
 メンバ説明
.NET Compact Framework によるサポートAssemblyアセンブリ全体からフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートFamANDAssemこのアセンブリサブタイプだけがフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートFamily型およびサブタイプだけがフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートFamORAssemあらゆる場所にあるサブタイプ、およびアセンブリ全体からフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートFieldAccessMask指定されているフィールドアクセス レベル指定します。 
.NET Compact Framework によるサポートHasDefaultフィールド既定値を持つことを指定します。 
.NET Compact Framework によるサポートHasFieldMarshalフィールドマーシャリング情報を持つことを指定します。 
.NET Compact Framework によるサポートHasFieldRVAフィールドRelative Virtual Address (RVA) を持つことを指定しますRVA は、現在のイメージ内のメソッド本体の場所をメソッド存在するイメージ ファイル先頭からの相対アドレス表した値です。 
.NET Compact Framework によるサポートInitOnlyフィールド初期化されるだけで、初期化後のフィールド書き込むことができないこと指定します。 
.NET Compact Framework によるサポートLiteralフィールドの値がコンパイル時 (静的バインディングまたは事前バインディング) 定数であることを指定しますset アクセサはありません。 
.NET Compact Framework によるサポートNotSerialized型をリモート処理するときに、フィールドシリアル化する必要がないことを指定します。 
.NET Compact Framework によるサポートPinvokeImpl今後使用するために予約されています。 
.NET Compact Framework によるサポートPrivate親の型だけがフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートPrivateScopeフィールド参照できないこと指定します。 
.NET Compact Framework によるサポートPublicこのスコープ可視である任意のメンバフィールドアクセスできること指定します。 
.NET Compact Framework によるサポートReservedMask予約済み。 
.NET Compact Framework によるサポートRTSpecialName共通言語ランタイム (メタデータ内部 API) が名前のエンコードチェックする必要があることを指定します。 
.NET Compact Framework によるサポートSpecialName特別なメソッド指定しますメソッドが特別である理由は名前で説明します。 
.NET Compact Framework によるサポートStaticフィールドが定義済みの型を表すことを指定しますそれ以外場合は、フィールドが表す型はインスタンスごとに異なります。 
解説解説

FieldAttributes は、FieldAccessMask からの値を使用して属性値アクセス可能な部分だけマスクオフにします。たとえば、次のコードAttributesパブリック ビット設定されているかどうか判断します

If (Attributes And FieldAttributes.FieldAccessMask)
 = _
    FieldAttributes.Public Then
if ((Attributes & FieldAttributes.FieldAccessMask) == 
    FieldAttributes.Public)

FieldAttributes取得するには、最初に Type クラス取得します。そして、その Type から FieldInfo取得します。そして、その FieldInfo から Attributes取得します

列挙値は、フィールド実装されている属性ビットごとの OR 演算によって組み合わせて表す数値です。

使用例使用例

この例では、3 つのフィールド構築されFieldAttributes 値が表示されます。FieldAttributes 値には、3 番目のフィールドで示すように、PublicLiteral両方など、複数属性含めることができます

Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic

Public Class Demo
    ' Declare three fields.
    ' The first field is private.
    Private m_field As String
 = "String A"

    'The second field is public.
    Public Field As String
 = "String B"

    ' The third field is public and const, hence also static
    ' and literal with a default value.
    Public Const FieldC As
 String = "String C"

End Class

Module Module1
    Sub Main()
        ' Create an instance of the Demo class.
        Dim d As New Demo()

        Console.WriteLine(vbCrLf & "Reflection.FieldAttributes")

        ' Get a Type object for Demo, and a FieldInfo for each of
        ' the three fields. Use the FieldInfo to display field
        ' name, value for the Demo object in d, and attributes.
        '
        Dim myType As Type = GetType(Demo)

        Dim fiPrivate As FieldInfo = myType.GetField("m_field",
 _
            BindingFlags.NonPublic Or BindingFlags.Instance)
        DisplayField(d, fiPrivate)

        Dim fiPublic As FieldInfo = myType.GetField("Field",
 _
            BindingFlags.Public Or BindingFlags.Instance)
        DisplayField(d, fiPublic)

        Dim fiConstant As FieldInfo = myType.GetField("FieldC",
 _
            BindingFlags.Public Or BindingFlags.Static)
        DisplayField(d, fiConstant)
    End Sub

    Sub DisplayField(ByVal obj As
 Object, ByVal f As FieldInfo)

        ' Display the field name, value, and attributes.
        '
        Console.WriteLine("{0} = ""{1}"";
 attributes: {2}", _
            f.Name, f.GetValue(obj), f.Attributes)
    End Sub

End Module

' This code example produces the following output:
'
'm_field = "String A"; attributes: Private
'Field = "String B"; attributes: Public
'FieldC = "String C"; attributes: Public, Static, Literal,
 HasDefault
using System;
using System.Reflection;

public class Demo
{
    // Make three fields:
    // The first field is private.
    private string m_field = "String A";

    // The second field is public.
    public string Field = "String B";

    // The third field is public const (hence also literal and static)
,
    // with a default value.
    public const string
 FieldC = "String C";
}

public class Myfieldattributes
{
    public static void Main()
    {
        Console.WriteLine ("\nReflection.FieldAttributes");
        Demo d = new Demo();
 
        // Get a Type object for Demo, and a FieldInfo for each of
        // the three fields. Use the FieldInfo to display field
        // name, value for the Demo object in d, and attributes.
        //
        Type myType = typeof(Demo);
        FieldInfo fiPrivate = myType.GetField("m_field",
            BindingFlags.NonPublic | BindingFlags.Instance);
        DisplayField(d, fiPrivate);

        FieldInfo fiPublic = myType.GetField("Field",
            BindingFlags.Public | BindingFlags.Instance);
        DisplayField(d, fiPublic);

        FieldInfo fiConstant = myType.GetField("FieldC",
            BindingFlags.Public | BindingFlags.Static);
        DisplayField(d, fiConstant);
    }

    static void DisplayField(Object obj, FieldInfo
 f)
    { 
        // Display the field name, value, and attributes.
        //
        Console.WriteLine("{0} = \"{1}\"; attributes: {2}", 
            f.Name, f.GetValue(obj), f.Attributes);
    }
}

/* This code example produces the following output:

Reflection.FieldAttributes
m_field = "String A"; attributes: Private
Field = "String B"; attributes: Public
FieldC = "String C"; attributes: Public, Static, Literal, HasDefault
 */
using namespace System;
using namespace System::Reflection;
using namespace System::Security::Permissions;

public ref class Demo
{
private:
    // Make three fields:
    // The first field is private.
    String^ m_field;

    // The second field is public.
public:
    String^ Field;

    // The third field is public and literal. 
    literal String^ FieldC = "String C";

    Demo() { m_field = "String A"; Field = "String B"; }
};

static void DisplayField(Object^ obj, FieldInfo^
 f)
{ 
    // Display the field name, value, and attributes.
    //
    Console::WriteLine("{0} = \"{1}\"; attributes: {2}", 
        f->Name, f->GetValue(obj), f->Attributes);
};

void main()
{
    Console::WriteLine ("\nReflection.FieldAttributes");
    Demo^ d = gcnew Demo();

    // Get a Type object for Demo, and a FieldInfo for each of
    // the three fields. Use the FieldInfo to display field
    // name, value for the Demo object in d, and attributes.
    //
    Type^ myType = Demo::typeid;

    FieldInfo^ fiPrivate = myType->GetField("m_field",
        BindingFlags::NonPublic | BindingFlags::Instance);
    DisplayField(d, fiPrivate);

    FieldInfo^ fiPublic = myType->GetField("Field",
        BindingFlags::Public | BindingFlags::Instance);
    DisplayField(d, fiPublic);

    FieldInfo^ fiConstant = myType->GetField("FieldC",
        BindingFlags::Public | BindingFlags::Static);
    DisplayField(d, fiConstant);
}

/* This code example produces the following output:

Reflection.FieldAttributes
m_field = "String A"; attributes: Private
Field = "String B"; attributes: Public
FieldC = "String C"; attributes: Public, Static, Literal, HasDefault
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「FieldAttributes 列挙体」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS