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

DefaultMemberAttribute 클래스

2013-12-13

InvokeMember에 사용된 기본 멤버인 형식 멤버를 정의합니다.

System.Object
  System.Attribute
    System.Reflection.DefaultMemberAttribute

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

[AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Interface|AttributeTargets.Struct)]
public sealed class DefaultMemberAttribute : Attribute

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

  이름설명
Public 메서드DefaultMemberAttributeDefaultMemberAttribute 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 속성MemberName특성에서 이름을 가져옵니다.
맨 위

  이름설명
Public 메서드Equals인프라입니다. 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode해당 인스턴스에 대한 해시 코드를 반환합니다. (Attribute에서 상속됨)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드Match파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다. (Attribute에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드ToString현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨)
맨 위

속성에 인수가 있고 속성의 이름이나 접근자 중 하나가 DefaultMemberAttribute에서 지정한 이름과 일치하는 경우 이 속성은 인덱서(Visual Basic의 경우 인덱싱된 기본 속성)로 가져옵니다. 포함하는 형식에 DefaultMemberAttribute가 없으면 이 형식에는 인덱서가 없습니다. C# 컴파일러에서는 인덱서가 포함된 형식의 DefaultMemberAttribute를 내보냅니다. C#에서 형식이 인덱서도 선언하는 경우 DefaultMemberAttribute를 사용하여 해당 형식에 특성을 직접 적용하면 오류가 발생합니다.

다음 예제에서는 DefaultMemberAttribute 특성을 사용하여 Age 속성을 MyClass 클래스의 기본 멤버로 만듭니다.



using System;
using System.Reflection;
using System.IO;

[DefaultMemberAttribute("Age")]
public class Example
{
   public void Name(String s) { }
   public int Age
   {
      get
      {
         return 20;
      }
   }
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      try
      {
         Type myType = typeof(Example);
         MemberInfo[] memberInfoArray = myType.GetDefaultMembers();
         if (memberInfoArray.Length > 0)
         {
            foreach (MemberInfo memberInfoObj in memberInfoArray)
            {
               outputBlock.Text += "The default member name is: " + memberInfoObj.ToString() + "\n";
            }
         }
         else
         {
            outputBlock.Text += "No default members are available." + "\n";
         }
      }
      catch (InvalidOperationException e)
      {
         outputBlock.Text += "InvalidOperationException: " + e.Message + "\n";
      }
      catch (IOException e)
      {
         outputBlock.Text += "IOException: " + e.Message + "\n";
      }
      catch (Exception e)
      {
         outputBlock.Text += "Exception: " + e.Message + "\n";
      }
   }
}


Windows Phone OS

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

Windows Phone

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

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

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