Udostępnij za pośrednictwem


MemberInfo.ReflectedType Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

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

Syntax

'Declaration
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 nulla 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

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.