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
피드백
https://aka.ms/ContentUserFeedback을 참조하세요.
출시 예정: 2024년 내내 콘텐츠 피드백 메커니즘인 GitHub 문제를 단계적으로 폐지하고 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은다음에 대한 사용자 의견 제출 및 보기