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

PropertyInfo.GetAccessors 메서드

2013-12-13

public get, set 및 현재 인스턴스에서 리플렉션된 속성의 기타 접근자를 리플렉션하는 요소의 배열을 반환합니다.

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

public MethodInfo[] GetAccessors()

반환 값

형식: System.Reflection.MethodInfo []
현재 인스턴스에서 리플렉션된 속성의 public get, set 및 기타 접근자를 포함하는 배열이 있으면 해당 배열이고, 그렇지 않으면 이 메서드는 요소가 0개인 배열을 반환합니다.

예외조건
MethodAccessException

응용프로그램 코드에서 Type.InvokeMember와 같은 메서드를 사용하여 이 멤버를 런타임에 바인딩하여 액세스하려는 경우

다음 예제에서는 GetAccessors 메서드의 두 가지 오버로드를 보여 줍니다. 이 예제에서는 public get 접근자와 보호되는 set 접근자를 사용하여 속성을 정의합니다. 즉, 이 속성은 파생 클래스를 통해서만 설정할 수 있습니다. 이 예제에서는 GetAccessors() 메서드 오버로드를 사용하여 속성의 public 접근자를 표시하고, GetAccessors(Boolean) 메서드 오버로드를 사용하여 속성의 모든 접근자를 표시합니다.

참고참고:

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


using System.Reflection;

class Example
{
   // Define a property that has a public get accessor and a protected set
   // accessor. That is, the property can only be set by classes that 
   // derive from Example.
   private string myCaption = "A Default caption";
   public string Caption   
   {
      get
      {
         return myCaption;
      }

      protected set
      {
         if (myCaption!=value)
         {
            myCaption = value;
         }
      }
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Get the PropertyInfo.
      PropertyInfo captionInfo = typeof(Example).GetProperty("Caption");

      outputBlock.Text += "Public accessors:\n";

      // List the public accessors.
      foreach( MethodInfo mi in captionInfo.GetAccessors() )
      {
         outputBlock.Text += mi.ToString() + "\n";
      }

      outputBlock.Text += "\nAll accessors:\n";

      // List all accessors.
      foreach( MethodInfo mi in captionInfo.GetAccessors(true) )
      {
         outputBlock.Text += mi.ToString() + "\n";
      }
   }
}

/* This example produces the following output:

Public accessors:
System.String get_Caption()

All accessors:
System.String get_Caption()
Void set_Caption(System.String)
 */


Windows Phone OS

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

Windows Phone

표시:
© 2014 Microsoft