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 только в том случае, если заданный элемент является полем.