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; }
public abstract Type ReflectedType { get; }
member this.ReflectedType : Type
Public MustOverride ReadOnly Property ReflectedType As Type

プロパティ値

Type

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

実装

次のコード例では、 ReflectedType 取得したからメンバーを参照したときにを変更する方法 Object.ToString MemberInfo と、 Object MemberInfo クラス自体から取得したを 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. この DeclaringType MemberInfo オブジェクトが基底クラスから継承されたメンバーを表している場合、これはプロパティの値とは異なる場合があります。This may differ from the value of the DeclaringType property if this MemberInfo object represents a member that is inherited from a base class.

MemberInfoオブジェクトがグローバルメンバーである場合 (つまり、モジュールのグローバルメソッドを返すメソッドから取得された場合 Module.GetMethods )、返されるはになり DeclaringType null ます。If 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.

適用対象