FieldInfo 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
필드의 특성을 검색하고 필드 메타데이터에 대한 액세스를 제공합니다.
public ref class FieldInfo abstract : System::Reflection::MemberInfo
public ref class FieldInfo abstract : System::Reflection::MemberInfo, System::Runtime::InteropServices::_FieldInfo
public abstract class FieldInfo : System.Reflection.MemberInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class FieldInfo : System.Reflection.MemberInfo, System.Runtime.InteropServices._FieldInfo
type FieldInfo = class
inherit MemberInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type FieldInfo = class
inherit MemberInfo
interface _FieldInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FieldInfo = class
inherit MemberInfo
interface _FieldInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Public MustInherit Class FieldInfo
Inherits MemberInfo
Implements _FieldInfo
- 상속
- 파생
- 특성
- 구현
예제
다음 예제에서는 메서드를 Type.GetFields 사용하여 클래스에서 FieldInfo 필드 관련 정보를 가져옵니다. 그런 다음 필드 특성을 표시합니다.
using namespace System;
using namespace System::Reflection;
public ref class FieldInfoClass
{
public:
int myField1;
protected:
String^ myField2;
};
int main()
{
array<FieldInfo^>^myFieldInfo;
Type^ myType = FieldInfoClass::typeid;
// Get the type and fields of FieldInfoClass.
myFieldInfo = myType->GetFields( static_cast<BindingFlags>(BindingFlags::NonPublic | BindingFlags::Instance | BindingFlags::Public) );
Console::WriteLine( "\nThe fields of FieldInfoClass are \n" );
// Display the field information of FieldInfoClass.
for ( int i = 0; i < myFieldInfo->Length; i++ )
{
Console::WriteLine( "\nName : {0}", myFieldInfo[ i ]->Name );
Console::WriteLine( "Declaring Type : {0}", myFieldInfo[ i ]->DeclaringType );
Console::WriteLine( "IsPublic : {0}", myFieldInfo[ i ]->IsPublic );
Console::WriteLine( "MemberType : {0}", myFieldInfo[ i ]->MemberType );
Console::WriteLine( "FieldType : {0}", myFieldInfo[ i ]->FieldType );
Console::WriteLine( "IsFamily : {0}", myFieldInfo[ i ]->IsFamily );
}
}
using System;
using System.Reflection;
public class FieldInfoClass
{
public int myField1 = 0;
protected string myField2 = null;
public static void Main()
{
FieldInfo[] myFieldInfo;
Type myType = typeof(FieldInfoClass);
// Get the type and fields of FieldInfoClass.
myFieldInfo = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance
| BindingFlags.Public);
Console.WriteLine("\nThe fields of " +
"FieldInfoClass are \n");
// Display the field information of FieldInfoClass.
for(int i = 0; i < myFieldInfo.Length; i++)
{
Console.WriteLine("\nName : {0}", myFieldInfo[i].Name);
Console.WriteLine("Declaring Type : {0}", myFieldInfo[i].DeclaringType);
Console.WriteLine("IsPublic : {0}", myFieldInfo[i].IsPublic);
Console.WriteLine("MemberType : {0}", myFieldInfo[i].MemberType);
Console.WriteLine("FieldType : {0}", myFieldInfo[i].FieldType);
Console.WriteLine("IsFamily : {0}", myFieldInfo[i].IsFamily);
}
}
}
Imports System.Reflection
Public Class FieldInfoClass
Public myField1 As Integer = 0
Protected myField2 As String = Nothing
Public Shared Sub Main()
Dim myFieldInfo() As FieldInfo
Dim myType As Type = GetType(FieldInfoClass)
' Get the type and fields of FieldInfoClass.
myFieldInfo = myType.GetFields(BindingFlags.NonPublic Or _
BindingFlags.Instance Or BindingFlags.Public)
Console.WriteLine(ControlChars.NewLine & "The fields of " & _
"FieldInfoClass class are " & ControlChars.NewLine)
' Display the field information of FieldInfoClass.
Dim i As Integer
For i = 0 To myFieldInfo.Length - 1
Console.WriteLine(ControlChars.NewLine + "Name : {0}", myFieldInfo(i).Name)
Console.WriteLine("Declaring Type : {0}", myFieldInfo(i).DeclaringType)
Console.WriteLine("IsPublic : {0}", myFieldInfo(i).IsPublic)
Console.WriteLine("MemberType : {0}", myFieldInfo(i).MemberType)
Console.WriteLine("FieldType : {0}", myFieldInfo(i).FieldType)
Console.WriteLine("IsFamily : {0}", myFieldInfo(i).IsFamily)
Next i
End Sub
End Class
설명
필드 정보는 메타데이터에서 가져옵니다. 클래스에 FieldInfo 공용 생성자가 없습니다.
FieldInfo개체는 개체의 Type
또는 GetField 메서드를 GetFields 호출하여 가져옵니다.
필드는 클래스에 정의된 변수입니다. FieldInfo 는 클래스 내의 필드에 대한 메타데이터에 대한 액세스를 제공하고 필드에 대한 동적 집합 및 가져오기 기능을 제공합니다. 클래스는 개체에서 호출 또는 get이 호출될 때까지 메모리에 로드되지 않습니다.
구현자 참고
FieldInfo에서 상속하는 경우 GetValue(Object) 및 SetValue(Object, Object, BindingFlags, Binder, CultureInfo) 멤버를 재정의해야 합니다.
생성자
FieldInfo() |
|
속성
Attributes |
이 필드와 관련된 특성을 가져옵니다. |
CustomAttributes |
이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다. (다음에서 상속됨 MemberInfo) |
DeclaringType |
이 멤버를 선언하는 클래스를 가져옵니다. (다음에서 상속됨 MemberInfo) |
FieldHandle |
필드의 내부 메타데이터 표현에 대한 핸들인 |
FieldType |
이 필드 개체의 형식을 가져옵니다. |
IsAssembly |
Assembly에서 이 필드의 잠재적 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 같은 어셈블리의 다른 형식에만 표시되고 어셈블리 외부의 파생 형식에는 표시되지 않습니다. |
IsCollectible |
이 MemberInfo 개체가 수집 가능한 AssemblyLoadContext에 보관된 어셈블리의 일부인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
IsFamily |
Family에서 이 필드의 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 해당 클래스 및 파생 클래스에만 표시됩니다. |
IsFamilyAndAssembly |
FamANDAssem에서 이 필드의 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 같은 어셈블리에 있는 경우에만 파생 클래스에서 액세스할 수 있습니다. |
IsFamilyOrAssembly |
FamORAssem에서 이 필드의 잠재적 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 파생 클래스(있는 경우) 및 같은 어셈블리의 클래스에서 액세스할 수 있습니다. |
IsInitOnly |
필드가 생성자의 본문에만 적용될 수 있는지 여부를 나타내는 값을 가져옵니다. |
IsLiteral |
값을 컴파일 타임에만 쓰고 변경할 수 없는지 여부를 나타내는 값을 가져옵니다. |
IsNotSerialized |
사용되지 않음.
이 필드에 |
IsPinvokeImpl |
해당 |
IsPrivate |
private 필드인지 여부를 나타내는 값을 가져옵니다. |
IsPublic |
public 필드인지 여부를 나타내는 값을 가져옵니다. |
IsSecurityCritical |
현재 필드가 현재 신뢰 수준에서 보안에 중요한 필드이거나 보안 안전에 중요한 필드인지 여부를 나타내는 값을 가져옵니다. |
IsSecuritySafeCritical |
현재 필드가 현재 신뢰 수준에서 보안 안전에 중요한 필드인지 여부를 나타내는 값을 가져옵니다. |
IsSecurityTransparent |
현재 필드가 현재 신뢰 수준에서 투명 필드인지 여부를 나타내는 값을 가져옵니다. |
IsSpecialName |
해당 |
IsStatic |
정적 필드인지 여부를 나타내는 값을 가져옵니다. |
MemberType |
이 멤버가 필드임을 나타내는 MemberTypes 값을 가져옵니다. |
MemberType |
파생 클래스에서 재정의될 경우 멤버의 형식(메서드, 생성자, 이벤트 등)을 나타내는 MemberTypes 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
MetadataToken |
메타데이터 요소를 식별하는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
Module |
현재 MemberInfo가 나타내는 멤버를 선언하는 형식이 정의된 모듈을 가져옵니다. (다음에서 상속됨 MemberInfo) |
Name |
현재 멤버의 이름을 가져옵니다. (다음에서 상속됨 MemberInfo) |
ReflectedType |
|
메서드
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. |
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributes(Boolean) |
파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributes(Type, Boolean) |
파생된 클래스에서 재정의하는 경우 이 멤버에 적용되고 Type으로 식별되는 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributesData() |
대상 멤버에 적용된 특성에 대한 데이터를 나타내는 CustomAttributeData 개체의 목록을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetFieldFromHandle(RuntimeFieldHandle) |
지정된 핸들이 나타내는 필드의 FieldInfo를 가져옵니다. |
GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle) |
지정된 제네릭 형식에 대해 지정된 핸들이 나타내는 필드의 FieldInfo를 가져옵니다. |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. (다음에서 상속됨 MemberInfo) |
GetModifiedFieldType() |
이 필드 개체의 수정된 형식을 가져옵니다. |
GetOptionalCustomModifiers() |
필드의 선택적 사용자 지정 한정자를 식별하는 형식의 배열을 가져옵니다. |
GetRawConstantValue() |
컴파일러에서 필드와 연결한 리터럴 값을 반환합니다. |
GetRequiredCustomModifiers() |
속성의 필수 사용자 지정 한정자를 식별하는 형식의 배열을 가져옵니다. |
GetType() |
클래스 필드를 검색하고 필드 메타데이터에 대한 액세스를 제공합니다. |
GetType() |
멤버의 특성을 검색하고 멤버 메타데이터에 대한 액세스를 제공합니다. (다음에서 상속됨 MemberInfo) |
GetValue(Object) |
파생 클래스에서 재정의된 경우 지정된 개체에서 지원하는 필드의 값을 반환합니다. |
GetValueDirect(TypedReference) |
지정된 개체에서 지원하는 필드 값을 반환합니다. |
HasSameMetadataDefinitionAs(MemberInfo) |
필드의 특성을 검색하고 필드 메타데이터에 대한 액세스를 제공합니다. (다음에서 상속됨 MemberInfo) |
IsDefined(Type, Boolean) |
파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 특성이 하나 이상 이 멤버에 적용되는지 여부를 나타냅니다. (다음에서 상속됨 MemberInfo) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
SetValue(Object, Object) |
지정된 개체에서 지원하는 필드 값을 설정합니다. |
SetValue(Object, Object, BindingFlags, Binder, CultureInfo) |
파생 클래스에 재정의할 때 지정된 개체에서 지원하는 필드 값을 설정합니다. |
SetValueDirect(TypedReference, Object) |
지정된 개체에서 지원하는 필드 값을 설정합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
연산자
Equality(FieldInfo, FieldInfo) |
두 FieldInfo 개체가 같은지를 나타냅니다. |
Inequality(FieldInfo, FieldInfo) |
두 FieldInfo 개체가 같지 않은지를 나타냅니다. |
명시적 인터페이스 구현
확장 메서드
GetCustomAttribute(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttribute<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo) |
지정된 멤버에 적용된 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Boolean) |
사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
IsDefined(MemberInfo, Type) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지 여부를 나타냅니다. |
IsDefined(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지, 또는 선택적으로 상위 항목에 적용되었는지 여부를 결정합니다. |
GetMetadataToken(MemberInfo) |
사용 가능한 경우 지정된 멤버의 메타데이터 토큰을 가져옵니다. |
HasMetadataToken(MemberInfo) |
지정된 멤버에 대해 메타데이터 토큰을 사용할 수 있는지를 나타내는 값을 반환합니다. |
적용 대상
스레드 보안
이 형식은 스레드로부터 안전합니다.
추가 정보
.NET