Поделиться через


FieldInfo.MemberType Свойство

Определение

Возвращает значение MemberTypes, указывающее, что этот элемент является полем.

public:
 virtual property System::Reflection::MemberTypes MemberType { System::Reflection::MemberTypes get(); };
public override System.Reflection.MemberTypes MemberType { get; }
member this.MemberType : System.Reflection.MemberTypes
Public Overrides ReadOnly Property MemberType As MemberTypes

Значение свойства

Значение MemberTypes, указывающее, что этот элемент является полем.

Реализации

Примеры

В следующем примере определяется, является ли указанный элемент полем, и отображается результат.

using System;
using System.Reflection;

// Make a field.
public class Myfield
{
    private string field = "a private field";
    public string Field
    {
        get{return field;}
    }
}

public class Myfieldinfo
{
    public static int Main()
    {
        Console.WriteLine ("\nReflection.FieldInfo");
        Myfield Myfield = new Myfield();

        // Get the Type and FieldInfo.
        Type MyType = typeof(Myfield);
        FieldInfo Myfieldinfo = MyType.GetField("field", BindingFlags.NonPublic|BindingFlags.Instance);

        // Get and display the MemberType.
        Console.Write ("\n{0}.", MyType.FullName);
        Console.Write ("{0} - ", Myfieldinfo.Name);
        Console.Write ("{0};", Myfield.Field);
        MemberTypes Mymembertypes = Myfieldinfo.MemberType;
        Console.Write("MemberType is a {0}.", Mymembertypes.ToString());
        return 0;
    }
}
Imports System.Reflection

' Make a field.
Public Class Myfield
    Private m_field As String = "a private field"

    Public ReadOnly Property Field() As String
        Get
            Return m_field
        End Get
    End Property
End Class

Public Class Myfieldinfo

    Public Shared Sub Main()
        Console.WriteLine()
        Console.WriteLine(ControlChars.Cr & "Reflection.FieldInfo")
        Console.WriteLine()
        Dim Myfield As New Myfield()

        ' Get the Type and FieldInfo.
        Dim MyType As Type = GetType(Myfield)
        Dim Myfieldinfo As FieldInfo = _
           MyType.GetField("m_field", BindingFlags.NonPublic Or BindingFlags.Instance)

        ' Get and display the MemberType.
        Console.Write(ControlChars.Cr & "{0}.", MyType.FullName)
        Console.Write("{0} - ", Myfieldinfo.Name)
        Console.Write("{0};", Myfield.Field)
        Dim Mymembertypes As MemberTypes = Myfieldinfo.MemberType
        Console.Write("MemberType is a {0}.", Mymembertypes.ToString())
    End Sub
End Class

Этот код выводит следующие результаты:

Reflection.FieldInfo

Myfield.field - a private field; MemberType is a Field

Комментарии

Это свойство переопределяет MemberType. Таким образом, при проверке набора MemberInfo объектов , например массива, возвращаемого методом GetMembers , MemberType свойство возвращается MemberTypes.Field только в том случае, если заданный элемент является полем.

Применяется к

См. также раздел