내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Type.GetFields 메서드

2013-12-13

현재 Type의 모든 public 필드를 반환합니다.

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

public FieldInfo[] GetFields()

반환 값

형식: System.Reflection.FieldInfo []
현재 Type에 대해 정의된 모든 public 필드를 나타내는 FieldInfo 개체의 배열입니다.
-또는-
현재 Type에 대해 정의된 public 필드가 없는 경우 FieldInfo 형식의 빈 배열입니다.

GetFields 메서드는 알파벳 순서 또는 선언 순서 등의 특정 순서로 필드를 반환하지 않습니다. 필드가 반환되는 순서는 달라질 수 있으므로 코드가 이 순서의 영향을 받지 않아야 합니다.

다음 표에서는 Get 메서드를 형식에 리플렉션할 때 해당 메서드에서 반환되는 기본 클래스의 멤버를 보여 줍니다.

멤버 형식

정적

비정적

생성자

아니요

아니요

필드

아니요

예 필드는 항상 이름 및 서명으로 숨겨집니다.

이벤트

사용할 수 없음

공용 형식 시스템 규칙은 상속이 속성을 구현한 메서드의 상속과 같다는 것입니다. 리플렉션은 속성을 이름 및 서명으로 숨겨진 상태로 취급합니다. 다음의 참고 2를 참조하세요.

메서드

아니요

예 가상 및 가상이 아닌 메서드는 모두 이름으로 숨겨지거나 이름 및 서명으로 숨겨질 수 있습니다.

중첩 형식

아니요

아니요

속성

사용할 수 없음

공용 형식 시스템 규칙은 상속이 속성을 구현한 메서드의 상속과 같다는 것입니다. 리플렉션은 속성을 이름 및 서명으로 숨겨진 상태로 취급합니다. 다음의 참고 2를 참조하세요.

참고:

  1. 이름 및 서명으로 숨기면 사용자 지정 한정자, 반환 형식, 매개 변수 형식, 센티널, 관리되지 않는 호출 규칙 등을 포함한 서명의 모든 부분을 인식합니다. 이것은 이진 비교입니다.

  2. 리플렉션을 위해 속성과 이벤트는 이름 및 서명으로 숨겨집니다. 속성의 기본 클래스에 get 및 set 접근자가 모두 있지만 파생 클래스에는 get 접근자만 있는 경우, 파생 클래스 속성에서는 기본 클래스 속성이 숨겨지므로 기본 클래스의 설정자에 액세스할 수 없습니다.

  3. 사용자 지정 특성은 공용 형식 시스템의 일부가 아닙니다.

현재 Type이 생성된 제네릭 형식을 나타내는 경우 이 메서드는 FieldInfo 개체를 반환합니다. 여기에는 적절한 형식 인수로 대체된 형식 매개 변수가 포함됩니다.

현재 Type이 제네릭 형식 또는 제네릭 메서드 정의의 형식 매개 변수를 나타내는 경우 이 메서드는 클래스 제약 조건의 public 필드를 검색합니다.

다음 예제에서는 GetFields() 메서드의 사용법을 보여 줍니다.

참고참고:

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


using System;
using System.Reflection;

class Example
{
    public static void Demo(System.Windows.Controls.TextBlock outputBlock)
    {
        Type myType = typeof(EventAttributes);

        outputBlock.Text = 
            String.Format("Fields of {0}, flagging FieldAttributes.SpecialName:\n",
                          myType.Name);

        foreach (FieldInfo fi in myType.GetFields())
        {
            // Determine whether or not each field has a special name.
            if (fi.IsSpecialName)
            {
                outputBlock.Text += 
                    String.Format("{0} has the FieldAttributes.SpecialName attribute.\n", 
                                  fi.Name);
            }
            else
            {
                outputBlock.Text += fi.Name + "\n";
            }
        }
    }
}

/* This example produces output similar to the following:

Fields of EventAttributes, flagging FieldAttributes.SpecialName:
value__ has the FieldAttributes.SpecialName attribute.
None
SpecialName
ReservedMask
RTSpecialName
 */


Windows Phone OS

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

Windows Phone

표시:
© 2015 Microsoft