MemberInfo.ReflectedType プロパティ

定義

MemberInfo のこのインスタンスを取得するために使用したクラス オブジェクトを取得します。Gets the class object that was used to obtain this instance of MemberInfo.

public:
 abstract property Type ^ ReflectedType { Type ^ get(); };
public abstract Type ReflectedType { get; }
member this.ReflectedType : Type
Public MustOverride ReadOnly Property ReflectedType As Type

プロパティ値

この Type オブジェクトを取得するために使用した MemberInfo オブジェクト。The Type object through which this MemberInfo object was obtained.

実装

次のコード例では、 ReflectedType MemberInfo取得したMemberInfo Object.ToString Objectからメンバーを参照したときにを変更する方法と、クラス自体から取得したを継承して、MemberInfo Objectただし、はをObject.ToStringオーバーライドしません。The following code example shows how the ReflectedType changes when the member Object.ToString is viewed from a MemberInfo obtained from type Object and from a MemberInfo obtained from the MemberInfo class itself, which inherits Object but does not override Object.ToString.

using namespace System;
using namespace System::Reflection;

int main()
{
    MemberInfo^ m1 = Object::typeid->GetMethod("ToString");
    MemberInfo^ m2 = MemberInfo::typeid->GetMethod("ToString");

    Console::WriteLine("m1.DeclaringType: {0}", m1->DeclaringType);
    Console::WriteLine("m1.ReflectedType: {0}", m1->ReflectedType);
    Console::WriteLine();
    Console::WriteLine("m2.DeclaringType: {0}", m2->DeclaringType);
    Console::WriteLine("m2.ReflectedType: {0}", m2->ReflectedType);

    //Console::ReadLine();
}

/* This code example produces the following output:

m1.DeclaringType: System.Object
m1.ReflectedType: System.Object

m2.DeclaringType: System.Object
m2.ReflectedType: System.Reflection.MemberInfo
 */
using System;
using System.Reflection;

public class Example
{
    static void Main()
    {
        MemberInfo m1 = typeof(Object).GetMethod("ToString");
        MemberInfo m2 = typeof(MemberInfo).GetMethod("ToString");

        Console.WriteLine("m1.DeclaringType: {0}", m1.DeclaringType);
        Console.WriteLine("m1.ReflectedType: {0}", m1.ReflectedType);
        Console.WriteLine();
        Console.WriteLine("m2.DeclaringType: {0}", m2.DeclaringType);
        Console.WriteLine("m2.ReflectedType: {0}", m2.ReflectedType);

        //Console.ReadLine();
    }
}

/* This code example produces the following output:

m1.DeclaringType: System.Object
m1.ReflectedType: System.Object

m2.DeclaringType: System.Object
m2.ReflectedType: System.Reflection.MemberInfo
 */
Imports System.Reflection

Module Example

    Sub Main()

        Dim m1 As MemberInfo = GetType(Object).GetMethod("ToString")
        Dim m2 As MemberInfo = GetType(MemberInfo).GetMethod("ToString")

        Console.WriteLine("m1.DeclaringType: {0}", m1.DeclaringType)
        Console.WriteLine("m1.ReflectedType: {0}", m1.ReflectedType)
        Console.WriteLine()
        Console.WriteLine("m2.DeclaringType: {0}", m2.DeclaringType)
        Console.WriteLine("m2.ReflectedType: {0}", m2.ReflectedType)

        'Console.ReadLine()
    End Sub
End Module

' This code example produces the following output:
'
' m1.DeclaringType: System.Object
' m1.ReflectedType: System.Object
'
' m2.DeclaringType: System.Object
' m2.ReflectedType: System.Reflection.MemberInfo
'

注釈

プロパティReflectedTypeは、のType MemberInfoこのインスタンスを取得するために使用されたオブジェクトを取得します。The ReflectedType property retrieves the Type object that was used to obtain this instance of MemberInfo. このMemberInfoオブジェクトが基底クラスから継承さDeclaringTypeれたメンバーを表している場合、これはプロパティの値とは異なる場合があります。This may differ from the value of the DeclaringType property if this MemberInfo object represents a member that is inherited from a base class.

オブジェクトがグローバルメンバーである場合 (つまり、モジュールのグローバルメソッドを返すModule.GetMethodsメソッドから取得された場合) null、返さDeclaringTypeれるはになります。 MemberInfoIf the MemberInfo object is a global member (that is, if it was obtained from the Module.GetMethods method, which returns global methods on a module), the returned DeclaringType will be null.

適用対象