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

PropertyInfo.GetGetMethod 메서드 (Boolean)

2013-12-13

파생 클래스에서 재정의되는 경우 이 속성에 대한 public 또는 public이 아닌 get 접근자를 반환합니다.

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

public abstract MethodInfo GetGetMethod(
	bool nonPublic
)

매개 변수

nonPublic
형식: System.Boolean
public이 아닌 접근자를 반환하려면 true이고, 그렇지 않으면 false입니다.

반환 값

형식: System.Reflection.MethodInfo
nonPublictrue인 경우 이 속성의 get 접근자입니다. nonPublicfalse이고 get 접근자가 public이 아니거나, nonPublictrue이지만 get 액세스가 없는 경우 null을 반환합니다.

예외조건
MethodAccessException

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

이 속성은 get 접근자를 나타내는 MethodInfo입니다.

GetGetMethod 메서드를 사용하려면 먼저 Type 클래스를 가져옵니다. Type에서 PropertyInfo를 가져옵니다. PropertyInfo에서 GetGetMethod 메서드를 사용합니다.

다음 예제에서는 GetGetMethod 메서드의 두 가지 오버로드를 보여 줍니다. 이 예제에서는 public 속성 및 protected 속성을 정의합니다. 다음 예제에서는 GetGetMethod()GetGetMethod(Boolean) 메서드 오버로드를 사용하여 두 속성의 get 접근자를 표시합니다. 첫 번째 경우에는 public 속성의 get 접근자만 표시됩니다.

참고참고:

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


using System;
using System.Reflection;

class Example
{
   // Define properties with different access levels.

   private string myCaption = "A Default caption";
   public string Caption   
   {
      get
      {
         return myCaption;
      }
   }

   private string myText = "Default text.";
   protected string Text   
   {
      get
      {
         return myText;
      }
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Get the PropertyInfo objects.
      PropertyInfo captionInfo = typeof(Example).GetProperty("Caption");
      PropertyInfo textInfo = 
         typeof(Example).GetProperty("Text", 
                                     BindingFlags.NonPublic | BindingFlags.Instance);

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

      // List the public get accessors.
      MethodInfo[] publicGetAccessors = { captionInfo.GetGetMethod(), 
                                          textInfo.GetGetMethod() };

      foreach (MethodInfo mi in publicGetAccessors)
      {
         if (mi == null)
         {
            outputBlock.Text += "No get accessor was found.\n";
         }
         else
         {
            outputBlock.Text += mi.ToString() + "\n";
         }
      }

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

      // List all get accessors.
      MethodInfo[] allGetAccessors = { captionInfo.GetGetMethod(true), 
                                       textInfo.GetGetMethod(true) };

      foreach( MethodInfo mi in allGetAccessors )
      {
         if (mi==null)
         {
            outputBlock.Text += "No get accessor was found.\n";
         }
         else
         {
            outputBlock.Text += mi.ToString() + "\n";
         }
      }
   }
}

/* This example produces the following output:

Public get accessors:
System.String get_Caption()
No get accessor was found.

All get accessors:
System.String get_Caption()
System.String get_Text()
 */


Windows Phone OS

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

Windows Phone

표시: