エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

DefaultMemberAttribute クラス

2013/12/12

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 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドDefaultMemberAttributeDefaultMemberAttribute クラスの新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック プロパティMemberName属性から名前を取得します。
このページのトップへ

  名前説明
パブリック メソッドEqualsインフラストラクチャ。 対象のインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (Attribute から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドMatch派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド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

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft