FieldInfo.MemberType 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得 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 namespace System;
using namespace System::Reflection;
// Make a field.
public ref class Myfield
{
private:
String^ field;
public:
Myfield()
: field( "a private field" )
{}
property String^ Field
{
String^ get()
{
return field;
}
}
};
int main()
{
Console::WriteLine( "\nReflection.FieldInfo" );
Myfield^ myfield = gcnew Myfield;
// Get the Type and FieldInfo.
Type^ MyType = Type::GetType( "Myfield" );
FieldInfo^ Myfieldinfo = MyType->GetField( "field", static_cast<BindingFlags>(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 );
return 0;
}
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物件時,例如, 所GetMembersMemberType傳回的陣列只有在指定的成員是欄位時,屬性才會傳回MemberTypes.Field。