내보내기(0) 인쇄
모두 확장
이 문서는 수동으로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오.
번역
원본

Type.GetField 메서드 (String)

지정된 이름의 public 필드를 검색합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

public FieldInfo GetField(
	string name
)

매개 변수

name
형식: System.String
가져올 데이터 필드의 이름이 들어 있는 String입니다.

반환 값

형식: System.Reflection.FieldInfo
지정된 이름의 public 필드가 있으면 이를 나타내는 FieldInfo 개체이고, 그렇지 않으면 null입니다.

예외상황
ArgumentNullException

namenull인 경우

NotSupportedException

Type 개체가 해당 CreateType 메서드가 호출되지 않은 TypeBuilder인 경우

name 검색은 대/소문자를 구분합니다. 검색에는 public static 및 public 인스턴스 필드가 포함됩니다.

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

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

다음 예제에서는 지정된 클래스의 Type 개체를 가져오고 필드의 FieldInfo 개체를 얻고 필드 값을 표시합니다.

참고참고:

이 예제를 실행하려면 Demo 메서드 및 TextBlock 컨트롤을 사용하는 예제 빌드를 참조하십시오.



using System;
using System.Reflection;

public class MyFieldClassA
{
   public string Field = "A Field";
}

public class MyFieldClassB
{
   private string field = "B Field";
   public string Field
   {
      get
      {
         return field;
      }
      set
      {
         if (field != value)
         {
            field = value;
         }
      }
   }
}

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      MyFieldClassB myFieldObjectB = new MyFieldClassB();
      MyFieldClassA myFieldObjectA = new MyFieldClassA();

      Type myTypeA = typeof(MyFieldClassA);
      FieldInfo myFieldInfo = myTypeA.GetField("Field");

      Type myTypeB = typeof(MyFieldClassB);
      FieldInfo myFieldInfo1 = myTypeB.GetField("field",
          BindingFlags.NonPublic | BindingFlags.Instance);

      outputBlock.Text += String.Format("The value of the public field is: '{0}'\n",
          myFieldInfo.GetValue(myFieldObjectA));

      try
      {
         // In Silverlight, the value of a private field cannot be accessed
         // by using reflection.
         outputBlock.Text += String.Format("The value of the private field is: '{0}'\n",
            myFieldInfo1.GetValue(myFieldObjectB));
      }
      catch (Exception ex)
      {
         outputBlock.Text += ex.GetType().Name + " occurred: " + ex.Message;
      }
   }
}

/* This code produces output similar to the following:

The value of the public field is: 'A Field'
FieldAccessException occurred: MyFieldClassB.myField
 */


Silverlight

5, 4, 3에서 지원

Windows Phone용 Silverlight

Windows Phone OS 7.1, Windows Phone OS 7.0에서 지원

XNA Framework

Xbox 360, Windows Phone OS 7.0에서 지원

Silverlight에서 지원되는 운영 체제 및 브라우저에 대한 자세한 내용은 지원되는 운영 체제 및 브라우저을 참조하십시오.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft