_Type.GetDefaultMembersとは? わかりやすく解説

Type.GetDefaultMembers メソッド

DefaultMemberAttribute が設定されている現在の Type定義されているメンバ検索します

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Overridable Function
 GetDefaultMembers As MemberInfo()
Dim instance As Type
Dim returnValue As MemberInfo()

returnValue = instance.GetDefaultMembers
public virtual MemberInfo[] GetDefaultMembers ()
public:
virtual array<MemberInfo^>^ GetDefaultMembers ()
public MemberInfo[] GetDefaultMembers ()
public function GetDefaultMembers () : MemberInfo[]

戻り値
現在の Typeすべての既定メンバを表す MemberInfo オブジェクト配列。 または 現在の Type既定メンバない場合は、MemberInfo 型の空の配列

解説解説

このメソッドは、派生クラスオーバーライドできます

メンバには、プロパティメソッドフィールドイベントなどあります

型に対すリフレクション時に Get メソッドによって返される基本クラスメンバ次の表に示します

  1. 名前と署名による隠ぺいでは、カスタム修飾子戻り値の型、パラメータの型、sentinel、およびアンマネージ呼び出し規約含めて署名すべての部分判断対象となります。これはバイナリ比較です。

  2. リフレクション場合プロパティおよびイベントは名前と署名によって隠ぺいされています。基本クラスget アクセサset アクセサ両方を持つプロパティがあり、派生クラスには get アクセサしかない場合派生クラスプロパティにより基本クラスプロパティ隠ぺいされ、基本クラスset アクセサにはアクセスできません。

  3. カスタム属性は、共通型システム一部ではありません。

現在の Type構築ジェネリック型表している場合、このメソッドは、型パラメータ適切な型の引数置き換えて MemberInfo オブジェクト返します。たとえば、クラス C<T>T返すプロパティ P保持している場合GetDefaultMembersC<int>呼び出すと、int P (C# の場合) または Property P As Integer (Visual Basic の場合) が返されます。

現在の Typeジェネリック型またはジェネリック メソッドの定義の型パラメータ表している場合、このメソッドクラス制約のメンバ検索しますクラス制約のメンバない場合は、Objectメンバ検索します

使用例使用例

MyClass既定メンバ情報取得し既定メンバ表示する例を次に示します

Imports System
Imports System.Reflection
Imports System.IO
Imports Microsoft.VisualBasic

<DefaultMemberAttribute("Age")> Public
 Class [MyClass]

    Public Sub Name(ByVal
 s As String)
    End Sub 'Name

    Public ReadOnly Property
 Age() As Integer
        Get
            Return 20
        End Get
    End Property

    Public Shared Sub Main()
        Try
            Dim myType As Type = GetType([MyClass])
            Dim memberInfoArray As MemberInfo()
 = myType.GetDefaultMembers()
            If memberInfoArray.Length > 0 Then
                Dim memberInfoObj As MemberInfo
                For Each memberInfoObj In
 memberInfoArray
                    Console.WriteLine("The default member name
 is: " + memberInfoObj.ToString())
                Next memberInfoObj
            Else
                Console.WriteLine("No default members are available.")
            End If
        Catch e As InvalidOperationException
            Console.WriteLine("InvalidOperationException: "
 + e.Message)
        Catch e As IOException
            Console.WriteLine("IOException: " + e.Message)
        Catch e As Exception
            Console.WriteLine("Exception: " + e.Message)
        End Try
    End Sub 'Main
End Class '[MyClass]
using System;
using System.Reflection;
using System.IO;

[DefaultMemberAttribute("Age")]   
public class MyClass
{
    public void Name(String s) {}
    public int Age
    {
        get
        {
            return 20;
        }
    }
    public static void Main()
    {
        try
        {
            Type  myType = typeof(MyClass);
            MemberInfo[] memberInfoArray = myType.GetDefaultMembers();
            if (memberInfoArray.Length > 0)
            {
                foreach(MemberInfo memberInfoObj in
 memberInfoArray)
                {
                    Console.WriteLine("The default member
 name is: " + memberInfoObj.ToString());
                }
            }
            else
            {
                Console.WriteLine("No default members are
 available."); 
            }
        }
        catch(InvalidOperationException e)
        {
            Console.WriteLine("InvalidOperationException: " + e.Message);
        }
        catch(IOException e)
        {
            Console.WriteLine("IOException: " + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception: " + e.Message);
        }
    }
}
using namespace System;
using namespace System::Reflection;
using namespace System::IO;

[DefaultMemberAttribute("Age")]
public ref class MyClass
{
public:
   void Name( String^ s ){}


   property int Age 
   {
      int get()
      {
         return 20;
      }

   }

};

int main()
{
   try
   {
      Type^ myType = MyClass::typeid;
      array<MemberInfo^>^memberInfoArray = myType->GetDefaultMembers();
      if ( memberInfoArray->Length > 0 )
      {
         System::Collections::IEnumerator^ myEnum = memberInfoArray->GetEnumerator();
         while ( myEnum->MoveNext() )
         {
            MemberInfo^ memberInfoObj = safe_cast<MemberInfo^>(myEnum->Current);
            Console::WriteLine( "The default member name
 is: {0}", memberInfoObj );
         }
      }
      else
      {
         Console::WriteLine( "No default members are available."
 );
      }
   }
   catch ( InvalidOperationException^ e ) 
   {
      Console::WriteLine( "InvalidOperationException: {0}", e->Message
 );
   }
   catch ( IOException^ e ) 
   {
      Console::WriteLine( "IOException: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }
}
import System.*;
import System.Reflection.*;
import System.IO.*;

/** @attribute DefaultMemberAttribute("Age")
 */
public class MyClass
{
    public void Name(String s)
    {
    } //Name

    /** @property 
     */
    public int get_Age()
    {
        return 20;
    } //get_Age

    public static void main(String[]
 args)
    {
        try {
            Type myType = MyClass.class.ToType();
            MemberInfo memberInfoArray[] = myType.GetDefaultMembers();
            if (memberInfoArray.length > 0) {
                for (int iCtr = 0; iCtr <
 memberInfoArray.length; iCtr++) {
                    MemberInfo memberInfoObj = memberInfoArray[iCtr];
                    Console.WriteLine("The default member
 name is: "
                        + memberInfoObj.ToString());
                }
            }
            else {
                Console.WriteLine("No default members are
 available.");
            }
        }
        catch (InvalidOperationException e) {
            Console.WriteLine("InvalidOperationException: " + e.get_Message());
        }
        catch (IOException e) {
            Console.WriteLine("IOException: " + e.get_Message());
        }
        catch (System.Exception e) {
            Console.WriteLine("Exception: " + e.get_Message());
        }
    } //main
} //MyClass
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Type クラス
Type メンバ
System 名前空間
MemberInfo
DefaultMemberAttribute
GetMember
GetMembers
FindMembers

_Type.GetDefaultMembers メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

COM オブジェクトに、Type.GetDefaultMembers メソッドへのバージョン依存しないアクセス用意されています。

このメソッドは、CLS準拠していません。  

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Function GetDefaultMembers As MemberInfo()
Dim instance As _Type
Dim returnValue As MemberInfo()

returnValue = instance.GetDefaultMembers
MemberInfo[] GetDefaultMembers ()
array<MemberInfo^>^ GetDefaultMembers ()
MemberInfo[] GetDefaultMembers ()
function GetDefaultMembers () : MemberInfo[]

戻り値
現在の Typeすべての既定メンバを表す MemberInfo オブジェクト配列。 または 現在の Type既定メンバない場合は、MemberInfo 型の空の配列

解説解説

このメソッドは、アンマネージ コードからマネージ クラスアクセスするためのメソッドであるため、マネージ コードからは呼び出さないください

Type.GetDefaultMembers メソッドは、DefaultMemberAttribute が設定されている現在の Type定義されているメンバ検索します

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「_Type.GetDefaultMembers」の関連用語

_Type.GetDefaultMembersのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



_Type.GetDefaultMembersのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS