MemberInfo.ReflectedType Property

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Gets the class object that was used to obtain this instance of MemberInfo.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

Syntax

Public MustOverride ReadOnly Property ReflectedType As Type
public abstract Type ReflectedType { get; }

Property Value

Type: System..::.Type
The type object through which this MemberInfo object was obtained.

Remarks

The ReflectedType property retrieves the Type object that was used to obtain this instance of MemberInfo. This may differ from DeclaringType if this MemberInfo object represents a member inherited from a base class.

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 nullNothingnullptra null reference (Nothing in Visual Basic).

Examples

The following 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.

Imports System.Reflection

Module Example

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

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

      outputBlock.Text += String.Format("m1.DeclaringType: {0}", m1.DeclaringType) & vbCrLf
      outputBlock.Text += String.Format("m1.ReflectedType: {0}", m1.ReflectedType) & vbCrLf
      outputBlock.Text &= vbCrLf
      outputBlock.Text += String.Format("m2.DeclaringType: {0}", m2.DeclaringType) & vbCrLf
      outputBlock.Text += String.Format("m2.ReflectedType: {0}", m2.ReflectedType) & vbCrLf

   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
'
using System;
using System.Reflection;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      MemberInfo m1 = typeof(Object).GetMethod("ToString");
      MemberInfo m2 = typeof(MemberInfo).GetMethod("ToString");

      outputBlock.Text += String.Format("m1.DeclaringType: {0}", m1.DeclaringType) + "\n";
      outputBlock.Text += String.Format("m1.ReflectedType: {0}", m1.ReflectedType) + "\n";
      outputBlock.Text += "\n";
      outputBlock.Text += String.Format("m2.DeclaringType: {0}", m2.DeclaringType) + "\n";
      outputBlock.Text += String.Format("m2.ReflectedType: {0}", m2.ReflectedType) + "\n";
   }
}

/* This code example produces the following output:

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

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

Version Information

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

MemberInfo Class

System.Reflection Namespace