FieldInfo オブジェクトがリフレクションするプロパティの type を取得します。取得した値は、このメンバがフィールドであることを示します。
Overrides Public ReadOnly Property MemberType As MemberTypes
[C#]
public override MemberTypes MemberType {get;}
[C++]
public: __property MemberTypes get_MemberType();
[JScript]
public override function get MemberType() : MemberTypes;
プロパティ値
MemberTypes.Field オブジェクト。
解説
このプロパティは、このフィールドを汎用メンバとしてテストするときに使用します。
使用例
指定したメンバがフィールドかどうかを調べ、その結果を表示する例を次に示します。
Imports System
Imports System.Reflection
Imports Microsoft.VisualBasic
' 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 = 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
[C#]
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 = Type.GetType("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;
}
}
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Reflection;
// Make a field.
public __gc class Myfield
{
private:
String* field;
public:
Myfield() : field(S"a private field") {}
__property String* get_Field() {
return field;
}
};
int main()
{
Console::WriteLine (S"\nReflection.FieldInfo");
Myfield* myfield = new Myfield();
// Get the Type and FieldInfo.
Type* MyType = Type::GetType(S"Myfield");
FieldInfo* Myfieldinfo = MyType->GetField(S"field",
static_cast<BindingFlags>(BindingFlags::NonPublic|BindingFlags::Instance));
// Get and display the MemberType.
Console::Write (S"\n{0}.", MyType->FullName);
Console::Write (S"{0} - ", Myfieldinfo->Name);
Console::Write (S"{0};", myfield->Field);
MemberTypes Mymembertypes = Myfieldinfo->MemberType;
Console::Write(S"MemberType is a {0}.", __box(Mymembertypes));
return 0;
}
[JScript]
import System;
import System.Reflection;
//Make a field
public class Myfield
{
private var field : String = "a private field";
public function get Field() : String {
return field;
}
}
public class Myfieldinfo
{
public static function Main() : void
{
Console.WriteLine ("\nReflection.FieldInfo");
var myfield : Myfield = new Myfield();
//Get the Type and FieldInfo
var MyType : Type = Type.GetType("Myfield");
var Myfieldinfo : FieldInfo = 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);
var Mymembertypes : MemberTypes = Myfieldinfo.MemberType;
Console.Write(" MemberType is a {0}", Mymembertypes.ToString());
}
}
Myfieldinfo.Main();
このコードによって、次の出力が生成されます。
Reflection.FieldInfo
Myfield.field - a private field; MemberType is a Field
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
FieldInfo クラス | FieldInfo メンバ | System.Reflection 名前空間 | FieldInfo | Type