MemberInfo.ReflectedType Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene el objeto de la clase utilizado para obtener esta instancia de 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
Valor de propiedad
Objeto Type
a través del cual se obtuvo este objeto MemberInfo
.
Implementaciones
Ejemplos
En el ejemplo de código siguiente se muestra cómo cambia el ReflectedType objeto cuando se ve el miembro Object.ToString de un objeto obtenido de un MemberInfo tipo Object y de un MemberInfo obtenido de la MemberInfo propia clase, que hereda Object pero no invalida 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
'
Comentarios
La ReflectedType
propiedad recupera el Type objeto que se usó para obtener esta instancia de MemberInfo
. Esto puede diferir del valor de la DeclaringType propiedad si este MemberInfo objeto representa un miembro heredado de una clase base.
Si el MemberInfo
objeto es un miembro global (es decir, si se obtuvo del Module.GetMethods método , que devuelve métodos globales en un módulo), el devuelto DeclaringType será null
.