정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

FieldInfo 클래스

2013-12-13

필드의 특성을 검색하고 필드 메타데이터에 대한 액세스를 제공합니다.

Namespace:  System.Reflection
어셈블리:  mscorlib(mscorlib.dll)

public abstract class FieldInfo : MemberInfo

FieldInfo 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성Attributes이 필드와 관련된 특성을 가져옵니다.
Public 속성CustomAttributes이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성DeclaringType이 멤버를 선언하는 클래스를 가져옵니다. (MemberInfo에서 상속됨)
Public 속성FieldHandle필드의 내부 메타데이터 표현에 대한 핸들을 가져옵니다.
Public 속성FieldType이 필드 개체의 형식을 가져옵니다.
Public 속성IsAssemblyFieldAttributes.Assembly에서 이 필드의 잠재적 표시 유형을 설명하는지, 즉 이 필드가 같은 어셈블리의 다른 형식에만 표시되고 어셈블리 외부의 파생 형식에는 표시되지 않는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsFamilyFieldAttributes.Family에서 이 필드의 표시 유형을 설명하는지, 즉 이 필드가 해당 클래스 및 파생 클래스에만 표시되는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsFamilyAndAssemblyFieldAttributes.FamANDAssem에서 이 필드의 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 같은 어셈블리에 있는 경우에만 파생 클래스에서 액세스할 수 있습니다.
Public 속성IsFamilyOrAssemblyFieldAttributes.FamORAssem에서 이 필드의 잠재적 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 필드는 파생 클래스(있는 경우) 및 같은 어셈블리의 클래스에서 액세스할 수 있습니다.
Public 속성IsInitOnly필드가 생성자의 본문에만 적용될 수 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsLiteral값을 컴파일 타임에만 쓰고 변경할 수 없는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsNotSerialized이 필드에 NotSerialized 특성이 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsPinvokeImpl해당 PinvokeImpl 특성이 FieldAttributes에 설정되어 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsPrivateprivate 필드인지 여부를 나타내는 값을 가져옵니다.
Public 속성IsPublicpublic 필드인지 여부를 나타내는 값을 가져옵니다.
Public 속성IsSpecialName필드의 이름에 특수한 의미가 있는지 여부를 나타내는 값을 가져옵니다.
Public 속성IsStatic필드가 static(Visual Basic의 경우 Shared)인지 여부를 나타내는 값을 가져옵니다.
Public 속성MemberType이 멤버가 필드인지 여부를 나타내는 값을 가져옵니다. (MemberInfo.MemberType을(를) 재정의함)
Public 속성MetadataToken메타데이터 요소를 식별하는 값을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성Module현재 MemberInfo가 나타내는 멤버를 선언하는 형식이 정의된 모듈을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성Name현재 멤버의 이름을 가져옵니다. (MemberInfo에서 상속됨)
Public 속성ReflectedTypeMemberInfo의 이 인스턴스를 가져오는 데 사용된 클래스 개체를 가져옵니다. (MemberInfo에서 상속됨)
맨 위

  이름설명
Public 메서드Equals이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (MemberInfo.Equals(Object)을(를) 재정의함)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetCustomAttributes(Boolean)파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다. (MemberInfo에서 상속됨)
Public 메서드GetCustomAttributes(Type, Boolean)파생 클래스에서 재정의되는 경우 이 멤버에 적용되고 Type으로 식별된 사용자 지정 특성의 배열을 반환합니다. (MemberInfo에서 상속됨)
Public 메서드정적 멤버GetFieldFromHandle(RuntimeFieldHandle)지정된 핸들이 나타내는 필드의 FieldInfo를 가져옵니다.
Public 메서드정적 멤버GetFieldFromHandle(RuntimeFieldHandle, RuntimeTypeHandle)지정된 제네릭 형식에 대해 지정된 핸들이 나타내는 필드의 FieldInfo를 가져옵니다.
Public 메서드GetHashCode해당 인스턴스에 대한 해시 코드를 반환합니다. (MemberInfo.GetHashCode()을(를) 재정의함)
Public 메서드GetRawConstantValue컴파일러에서 필드와 연결한 리터럴 값을 반환합니다.
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드GetValue파생 클래스에 재정의할 때 지정된 개체에서 지원하는 필드의 값을 반환합니다.
Public 메서드IsDefined파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 특성이 하나 이상 이 멤버에 적용되는지 여부를 나타냅니다. (MemberInfo에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드SetValue(Object, Object)지정된 개체에서 지원하는 필드의 값을 설정합니다.
Public 메서드SetValue(Object, Object, BindingFlags, Binder, CultureInfo)파생 클래스에서 재정의되는 경우 형식을 변환할 때 지정된 제약 조건을 사용하여 필드 값을 설정합니다.
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

  이름설명
Public 확장 메서드GetCustomAttribute(Type)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute(Type, Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute<T>()오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttribute<T>(Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes()오버로드. 지정한 멤버에 적용되는 사용자 지정 특성의 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes(Type)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes<T>()오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드GetCustomAttributes<T>(Boolean)오버로드. 지정된 멤버에 적용되는 지정된 형식의 사용자 지정 특성 컬렉션을 검색하고 경우에 따라 해당 멤버의 상위 항목을 검사합니다. (CustomAttributeExtensions에서 정의됨)
Public 확장 메서드IsDefined지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는지 여부를 나타냅니다. (CustomAttributeExtensions에서 정의됨)
맨 위

FieldInfo 클래스에는 public 생성자가 없으므로 FieldInfo 개체는 Type.GetFieldsType.GetField를 호출하여 가져옵니다.

필드는 클래스에 정의된 변수입니다. FieldInfo를 사용하면 클래스에 있는 필드의 메타데이터에 액세스하고 런타임에 바인딩될 때 필드 값에 액세스할 수 있습니다. Windows Phone에서는 액세스 수준에 관계없이 모든 필드의 메타데이터를 가져올 수 있지만 필드의 값을 가져오거나 설정할 때 FieldInfo를 사용하여 액세스 수준 보호를 무시할 수는 없습니다.

다음 예제에서는 Type.GetFields 메서드를 사용하여 Example 클래스의 필드를 가져온 다음 필드에 대한 정보를 표시합니다.

참고참고:

이 예제를 실행하려면 Windows Phone용 정적 TextBlock 컨트롤이 있는 예제 빌드를 참조하세요.


using System;
using System.Reflection;

public class Example
{
   public int myField1 = 0;
   protected string myField2 = null;
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      FieldInfo[] myFieldInfo;
      Type myType = typeof(Example);
      // Get the type and fields of Example.
      myFieldInfo = myType.GetFields(BindingFlags.NonPublic | BindingFlags.Instance
          | BindingFlags.Public);
      outputBlock.Text += "\nThe fields of " +
          "Example are \n" + "\n";
      // Display the field information of Example.
      for (int i = 0; i < myFieldInfo.Length; i++)
      {
         outputBlock.Text += String.Format("\nName            : {0}", myFieldInfo[i].Name) + "\n";
         outputBlock.Text += String.Format("Declaring Type  : {0}", myFieldInfo[i].DeclaringType) + "\n";
         outputBlock.Text += String.Format("IsPublic        : {0}", myFieldInfo[i].IsPublic) + "\n";
         outputBlock.Text += String.Format("MemberType      : {0}", myFieldInfo[i].MemberType) + "\n";
         outputBlock.Text += String.Format("FieldType       : {0}", myFieldInfo[i].FieldType) + "\n";
         outputBlock.Text += String.Format("IsFamily        : {0}", myFieldInfo[i].IsFamily) + "\n";
      }
   }
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식은 스레드로부터 안전합니다.

표시: