Type.GetMember Método

Definición

Obtiene los miembros especificados del objeto Type actual.Gets the specified members of the current Type.

Sobrecargas

GetMember(String)

Busca los miembros públicos con el nombre especificado.Searches for the public members with the specified name.

GetMember(String, BindingFlags)

Busca los miembros especificados mediante las restricciones de enlace especificadas.Searches for the specified members, using the specified binding constraints.

GetMember(String, MemberTypes, BindingFlags)

Busca los miembros especificados que sean del tipo de miembro especificado mediante las restricciones de enlace especificadas.Searches for the specified members of the specified member type, using the specified binding constraints.

GetMember(String)

Busca los miembros públicos con el nombre especificado.Searches for the public members with the specified name.

public:
 virtual cli::array <System::Reflection::MemberInfo ^> ^ GetMember(System::String ^ name);
public System.Reflection.MemberInfo[] GetMember (string name);
abstract member GetMember : string -> System.Reflection.MemberInfo[]
override this.GetMember : string -> System.Reflection.MemberInfo[]
Public Function GetMember (name As String) As MemberInfo()

Parámetros

name
String

Cadena que contiene el nombre de los miembros públicos que se van a obtener.The string containing the name of the public members to get.

Devoluciones

Matriz de objetos MemberInfo que representa los miembros públicos con el nombre especificado, si se encuentran; de lo contrario, una matriz vacía.An array of MemberInfo objects representing the public members with the specified name, if found; otherwise, an empty array.

Implementaciones

Excepciones

name es null.name is null.

Ejemplos

En el ejemplo siguiente se muestran todos los miembros de la clase String que comienzan por la letra C.The following example displays all the members of the String class that start with the letter C.

using namespace System;
using namespace System::Security;
using namespace System::Reflection;

// forward declarations:
void GetMemberInfo();
void GetPublicStaticMemberInfo();
void GetPublicInstanceMethodMemberInfo();
int main()
{
   try
   {
      GetMemberInfo();
      GetPublicStaticMemberInfo();
      GetPublicInstanceMethodMemberInfo();
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }
   catch ( NotSupportedException^ e ) 
   {
      Console::WriteLine( "NotSupportedException occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception occurred." );
      Console::WriteLine( "Source: {0}", e->Source );
      Console::WriteLine( "Message: {0}", e->Message );
   }

}

void GetMemberInfo()
{
   String^ myString = "GetMember_String";
   Type^ myType = myString->GetType();
   
   // Get the members for myString starting with the letter C.
   array<MemberInfo^>^myMembers = myType->GetMember( "C*" );
   if ( myMembers->Length > 0 )
   {
      Console::WriteLine( "\nThe member(s) starting with the letter C for type {0}:", myType );
      for ( int index = 0; index < myMembers->Length; index++ )
         Console::WriteLine( "Member {0}: {1}", index + 1, myMembers[ index ] );
   }
   else
      Console::WriteLine( "No members match the search criteria." );
}

using System;
using System.Security;
using System.Reflection;

public class MyMemberSample 
{
    public static void Main()
    {
        MyMemberSample myClass = new MyMemberSample();
        try
        {
            myClass.GetMemberInfo();
            myClass.GetPublicStaticMemberInfo();	
            myClass.GetPublicInstanceMethodMemberInfo();	
        }      
        catch(ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException occurred.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
        catch(NotSupportedException e)
        {
            Console.WriteLine("NotSupportedException occurred.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
        catch(SecurityException e)
        {
            Console.WriteLine("SecurityException occurred.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
        catch(Exception e)
        {
            Console.WriteLine("Exception occurred.");
            Console.WriteLine("Source: " + e.Source);
            Console.WriteLine("Message: " + e.Message);
        }
    }

    public void GetMemberInfo()
    {
        String myString = "GetMember_String";

        Type myType = myString.GetType();
        // Get the members for myString starting with the letter C.
        MemberInfo[] myMembers = myType.GetMember("C*");
        if(myMembers.Length > 0)
        {
            Console.WriteLine("\nThe member(s) starting with the letter C for type {0}:", myType);
            for(int index=0; index < myMembers.Length; index++)
                Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
        }
        else
            Console.WriteLine("No members match the search criteria.");    
    }

Imports System.Security
Imports System.Reflection

Public Class MyMemberSample

    Public Shared Sub Main()
        Dim [myClass] As New MyMemberSample()
        Try
            [myClass].GetMemberInfo()
            [myClass].GetPublicStaticMemberInfo()
            [myClass].GetPublicInstanceMethodMemberInfo()
        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException occurred.")
            Console.WriteLine(("Source: " + e.Source))
            Console.WriteLine(("Message: " + e.Message))
        Catch e As NotSupportedException
            Console.WriteLine("NotSupportedException occurred.")
            Console.WriteLine(("Source: " + e.Source))
            Console.WriteLine(("Message: " + e.Message))
        Catch e As SecurityException
            Console.WriteLine("SecurityException occurred.")
            Console.WriteLine(("Source: " + e.Source))
            Console.WriteLine(("Message: " + e.Message))
        Catch e As Exception
            Console.WriteLine("Exception occurred.")
            Console.WriteLine(("Source: " + e.Source))
            Console.WriteLine(("Message: " + e.Message))
        End Try
    End Sub


    Public Sub GetMemberInfo()
        Dim myString As [String] = "GetMember_String"
        Dim myType As Type = myString.GetType()
        ' Get the members for myString starting with the letter C.
        Dim myMembers As MemberInfo() = myType.GetMember("C*")
        If myMembers.Length > 0 Then
            Console.WriteLine(ControlChars.Cr + "The member(s) starting with the letter C for type {0}:", myType)
            Dim index As Integer
            For index = 0 To myMembers.Length - 1
                Console.WriteLine("Member {0}: {1}", index + 1, myMembers(index).ToString())
            Next index
        Else
            Console.WriteLine("No members match the search criteria.")
        End If
    End Sub

Comentarios

La búsqueda de name distingue entre mayúsculas y minúsculas.The search for name is case-sensitive. La búsqueda incluye miembros públicos estáticos y de instancia pública.The search includes public static and public instance members.

Los miembros incluyen propiedades, métodos, campos, eventos, etc.Members include properties, methods, fields, events, and so on.

El método GetMember no devuelve miembros en un orden determinado, como el orden alfabético o de declaración.The GetMember method does not return members in a particular order, such as alphabetical or declaration order. El código no debe depender del orden en el que se devuelven los miembros, ya que ese orden varía.Your code must not depend on the order in which members are returned, because that order varies.

Esta sobrecarga del método no encontrará inicializadores de clase (constructor estático).This method overload will not find class initializers (static constructor). Para buscar inicializadores de clase, use una sobrecarga que tome BindingFlagsy especifique BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic en Visual Basic).To find class initializers, use an overload that takes BindingFlags, and specify BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic). También puede obtener el inicializador de clase mediante la propiedad TypeInitializer.You can also get the class initializer using the TypeInitializer property.

En la tabla siguiente se muestra qué miembros de una clase base son devueltos por los métodos Get al reflejar en un tipo.The following table shows what members of a base class are returned by the Get methods when reflecting on a type.

Tipo de miembroMember Type EstáticoStatic No estáticaNon-Static
ConstructorConstructor NoNo NoNo
CampoField NoNo Sí.Yes. Un campo siempre se oculta por nombre y firma.A field is always hide-by-name-and-signature.
eventoEvent No es aplicableNot applicable La regla del sistema de tipos comunes es que la herencia es la misma que la de los métodos que implementan la propiedad.The common type system rule is that the inheritance is the same as that of the methods that implement the property. La reflexión trata las propiedades como ocultas por nombre y firma.Reflection treats properties as hide-by-name-and-signature. Vea la nota 2 a continuación.See note 2 below.
MétodoMethod NoNo Sí.Yes. Un método (tanto virtual como no virtual) se puede ocultar por nombre u ocultar por nombre y por firma.A method (both virtual and non-virtual) can be hide-by-name or hide-by-name-and-signature.
Tipo anidadoNested Type NoNo NoNo
Propiedad.Property No es aplicableNot applicable La regla del sistema de tipos comunes es que la herencia es la misma que la de los métodos que implementan la propiedad.The common type system rule is that the inheritance is the same as that of the methods that implement the property. La reflexión trata las propiedades como ocultas por nombre y firma.Reflection treats properties as hide-by-name-and-signature. Vea la nota 2 a continuación.See note 2 below.
  1. Ocultar por nombre y firma tiene en cuenta todas las partes de la firma, incluidos los modificadores personalizados, los tipos de valor devuelto, los tipos de parámetros, los Sentinel y las convenciones de llamada no administradas.Hide-by-name-and-signature considers all of the parts of the signature, including custom modifiers, return types, parameter types, sentinels, and unmanaged calling conventions. Esta es una comparación binaria.This is a binary comparison.

  2. En la reflexión, las propiedades y los eventos son Hide-by-Name y Signature.For reflection, properties and events are hide-by-name-and-signature. Si tiene una propiedad con un descriptor de acceso get y set en la clase base, pero la clase derivada solo tiene un descriptor de acceso get, la propiedad de la clase derivada oculta la propiedad de clase base y no podrá tener acceso al establecedor en la clase base.If you have a property with both a get and a set accessor in the base class, but the derived class has only a get accessor, the derived class property hides the base class property, and you will not be able to access the setter on the base class.

  3. Los atributos personalizados no forman parte del sistema de tipos comunes.Custom attributes are not part of the common type system.

Si el Type actual representa un tipo genérico construido, este método devuelve el MemberInfo con los parámetros de tipo reemplazados por los argumentos de tipo adecuados.If the current Type represents a constructed generic type, this method returns the MemberInfo with the type parameters replaced by the appropriate type arguments.

Si el Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca en los miembros de la restricción de clase o en los miembros de Object si no hay ninguna restricción de clase.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the members of the class constraint, or the members of Object if there is no class constraint.

Nota

En el caso de los métodos genéricos, no incluya los argumentos de tipo en name.For generic methods, do not include the type arguments in name. Por ejemplo, el C# código GetMember("MyMethod<int>") busca un miembro con el nombre de texto "MyMethod<int>", en lugar de un método denominado MyMethod que tiene un argumento genérico de tipo int.For example, the C# code GetMember("MyMethod<int>") searches for a member with the text name "MyMethod<int>", rather than for a method named MyMethod that has one generic argument of type int.

Consulte también:

GetMember(String, BindingFlags)

Busca los miembros especificados mediante las restricciones de enlace especificadas.Searches for the specified members, using the specified binding constraints.

public:
 virtual cli::array <System::Reflection::MemberInfo ^> ^ GetMember(System::String ^ name, System::Reflection::BindingFlags bindingAttr);
public virtual System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.BindingFlags bindingAttr);
abstract member GetMember : string * System.Reflection.BindingFlags -> System.Reflection.MemberInfo[]
override this.GetMember : string * System.Reflection.BindingFlags -> System.Reflection.MemberInfo[]
Public Overridable Function GetMember (name As String, bindingAttr As BindingFlags) As MemberInfo()

Parámetros

name
String

Cadena que contiene el nombre de los miembros que se van a obtener.The string containing the name of the members to get.

bindingAttr
BindingFlags

Combinación bit a bit de los valores de enumeración que especifican cómo se realiza la búsqueda.A bitwise combination of the enumeration values that specify how the search is conducted.

o bien-or- Default para que se devuelva una matriz vacía.Default to return an empty array.

Devoluciones

Matriz de objetos MemberInfo que representa los miembros públicos con el nombre especificado, si se encuentran; de lo contrario, una matriz vacía.An array of MemberInfo objects representing the public members with the specified name, if found; otherwise, an empty array.

Implementaciones

Excepciones

name es null.name is null.

Ejemplos

En el ejemplo siguiente se muestran todos los miembros estáticos públicos de la clase myString que comienzan por la letra C.The following example displays all the public static members of the myString class that start with the letter C.

void GetPublicStaticMemberInfo()
{
   String^ myString = "GetMember_String_BindingFlag";
   Type^ myType = myString->GetType();
   
   // Get the public static members for the class myString starting with the letter C
   array<MemberInfo^>^myMembers = myType->GetMember( "C*", static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Static) );
   if ( myMembers->Length > 0 )
   {
      Console::WriteLine( "\nThe public static member(s) starting with the letter C for type {0}:", myType );
      for ( int index = 0; index < myMembers->Length; index++ )
         Console::WriteLine( "Member {0}: {1}", index + 1, myMembers[ index ] );
   }
   else
      Console::WriteLine( "No members match the search criteria." );
}
public void GetPublicStaticMemberInfo()
{
    String myString = "GetMember_String_BindingFlag";
    Type myType = myString.GetType();
    // Get the public static members for the class myString starting with the letter C.
    MemberInfo[] myMembers = myType.GetMember("C*",
        BindingFlags.Public |BindingFlags.Static);
    if(myMembers.Length > 0)
    {
        Console.WriteLine("\nThe public static member(s) starting with the letter C for type {0}:", myType);
        for(int index=0; index < myMembers.Length; index++)
            Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
    }
    else
        Console.WriteLine("No members match the search criteria.");    
}
Public Sub GetPublicStaticMemberInfo()
    Dim myString As [String] = "GetMember_String_BindingFlag"

    Dim myType As Type = myString.GetType()
    ' Get the public static members for the class myString starting with the letter C.
    Dim myMembers As MemberInfo() = myType.GetMember("C*", BindingFlags.Public Or BindingFlags.Static)

    If myMembers.Length > 0 Then
        Console.WriteLine(ControlChars.Cr + "The public static member(s) starting with the letter C for type {0}:", myType)
        Dim index As Integer
        For index = 0 To myMembers.Length - 1
            Console.WriteLine("Member {0}: {1}", index + 1, myMembers(index).ToString())
        Next index
    Else
        Console.WriteLine("No members match the search criteria.")
    End If
End Sub

Comentarios

Este método se puede invalidar mediante una clase derivada.This method can be overridden by a derived class.

Los miembros incluyen propiedades, métodos, campos, eventos, etc.Members include properties, methods, fields, events, and so on.

El método GetMember no devuelve miembros en un orden determinado, como el orden alfabético o de declaración.The GetMember method does not return members in a particular order, such as alphabetical or declaration order. El código no debe depender del orden en el que se devuelven los miembros, ya que ese orden varía.Your code must not depend on the order in which members are returned, because that order varies.

Se pueden usar las siguientes marcas de filtro de BindingFlags para definir los miembros que se incluirán en la búsqueda:The following BindingFlags filter flags can be used to define which members to include in the search:

  • Debe especificar BindingFlags.Instance o BindingFlags.Static para obtener un valor devuelto.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • Especifique BindingFlags.Public para incluir miembros públicos en la búsqueda.Specify BindingFlags.Public to include public members in the search.

  • Especifique BindingFlags.NonPublic para incluir miembros no públicos (es decir, miembros privados, internos y protegidos) en la búsqueda.Specify BindingFlags.NonPublic to include non-public members (that is, private, internal, and protected members) in the search.

  • Especifique BindingFlags.FlattenHierarchy para incluir public y protected miembros estáticos en la jerarquía. no se incluyen private miembros estáticos de las clases heredadas.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

Se pueden usar las siguientes marcas de modificador de BindingFlags para cambiar el funcionamiento de la búsqueda:The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase para omitir las mayúsculas y minúsculas de name.BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnly para buscar solo los miembros declarados en el Type, no los miembros que se han heredado simplemente.BindingFlags.DeclaredOnly to search only the members declared on the Type, not members that were simply inherited.

Vea System.Reflection.BindingFlags para obtener más información.See System.Reflection.BindingFlags for more information.

Para obtener el inicializador de clase (constructor estático) mediante esta sobrecarga del método, debe especificar "constructor estático" para namey BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic en Visual Basic) para bindingAttr.To get the class initializer (static constructor) using this method overload, you must specify "static constructor" for name, and BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic) for bindingAttr. También puede obtener el inicializador de clase mediante la propiedad TypeInitializer.You can also get the class initializer using the TypeInitializer property.

Si el Type actual representa un tipo genérico construido, este método devuelve el MemberInfo con los parámetros de tipo reemplazados por los argumentos de tipo adecuados.If the current Type represents a constructed generic type, this method returns the MemberInfo with the type parameters replaced by the appropriate type arguments.

Si el Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca en los miembros de la restricción de clase o en los miembros de Object si no hay ninguna restricción de clase.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the members of the class constraint, or the members of Object if there is no class constraint.

Nota

En el caso de los métodos genéricos, no incluya los argumentos de tipo en name.For generic methods, do not include the type arguments in name. Por ejemplo, el C# código GetMember("MyMethod<int>") busca un miembro con el nombre de texto "MyMethod<int>", en lugar de un método denominado MyMethod que tiene un argumento genérico de tipo int.For example, the C# code GetMember("MyMethod<int>") searches for a member with the text name "MyMethod<int>", rather than for a method named MyMethod that has one generic argument of type int.

Consulte también:

GetMember(String, MemberTypes, BindingFlags)

Busca los miembros especificados que sean del tipo de miembro especificado mediante las restricciones de enlace especificadas.Searches for the specified members of the specified member type, using the specified binding constraints.

public:
 virtual cli::array <System::Reflection::MemberInfo ^> ^ GetMember(System::String ^ name, System::Reflection::MemberTypes type, System::Reflection::BindingFlags bindingAttr);
public virtual System.Reflection.MemberInfo[] GetMember (string name, System.Reflection.MemberTypes type, System.Reflection.BindingFlags bindingAttr);
abstract member GetMember : string * System.Reflection.MemberTypes * System.Reflection.BindingFlags -> System.Reflection.MemberInfo[]
override this.GetMember : string * System.Reflection.MemberTypes * System.Reflection.BindingFlags -> System.Reflection.MemberInfo[]
Public Overridable Function GetMember (name As String, type As MemberTypes, bindingAttr As BindingFlags) As MemberInfo()

Parámetros

name
String

Cadena que contiene el nombre de los miembros que se van a obtener.The string containing the name of the members to get.

type
MemberTypes

Valor que se va a buscar.The value to search for.

bindingAttr
BindingFlags

Combinación bit a bit de los valores de enumeración que especifican cómo se realiza la búsqueda.A bitwise combination of the enumeration values that specify how the search is conducted.

o bien-or- Default para que se devuelva una matriz vacía.Default to return an empty array.

Devoluciones

Matriz de objetos MemberInfo que representa los miembros públicos con el nombre especificado, si se encuentran; de lo contrario, una matriz vacía.An array of MemberInfo objects representing the public members with the specified name, if found; otherwise, an empty array.

Implementaciones

Excepciones

name es null.name is null.

La clase derivada debe proporcionar una implementación.A derived class must provide an implementation.

Ejemplos

En el ejemplo siguiente se muestran todos los métodos de la clase myString que comienzan por la letra C.The following example displays all the methods of the myString class that start with the letter C.

void GetPublicInstanceMethodMemberInfo()
{
   String^ myString = "GetMember_String_MemberType_BindingFlag";
   Type^ myType = myString->GetType();
   
   // Get the public instance methods for myString starting with the letter C.
   array<MemberInfo^>^myMembers = myType->GetMember( "C*", MemberTypes::Method, static_cast<BindingFlags>(BindingFlags::Public | BindingFlags::Instance) );
   if ( myMembers->Length > 0 )
   {
      Console::WriteLine( "\nThe public instance method(s) starting with the letter C for type {0}:", myType );
      for ( int index = 0; index < myMembers->Length; index++ )
         Console::WriteLine( "Member {0}: {1}", index + 1, myMembers[ index ] );
   }
   else
      Console::WriteLine( "No members match the search criteria." );
}
    public void GetPublicInstanceMethodMemberInfo()
    {
        String myString = "GetMember_String_MemberType_BindingFlag";
        Type myType = myString.GetType();
        // Get the public instance methods for myString starting with the letter C.
        MemberInfo[] myMembers = myType.GetMember("C*", MemberTypes.Method, 
            BindingFlags.Public | BindingFlags.Instance);
        if(myMembers.Length > 0)
        {
            Console.WriteLine("\nThe public instance method(s) starting with the letter C for type {0}:", myType);
            for(int index=0; index < myMembers.Length; index++)
                Console.WriteLine("Member {0}: {1}", index + 1, myMembers[index].ToString());
        }
        else
            Console.WriteLine("No members match the search criteria.");    
    }
}
    Public Sub GetPublicInstanceMethodMemberInfo()
        Dim myString As [String] = "GetMember_String_MemberType_BindingFlag"

        Dim myType As Type = myString.GetType()
        ' Get the public instance methods for myString starting with the letter C.
        Dim myMembers As MemberInfo() = myType.GetMember("C*", MemberTypes.Method, BindingFlags.Public Or BindingFlags.Instance)
        If myMembers.Length > 0 Then
            Console.WriteLine(ControlChars.Cr + "The public instance method(s) starting with the letter C for type {0}:", myType)
            Dim index As Integer
            For index = 0 To myMembers.Length - 1
                Console.WriteLine("Member {0}: {1}", index + 1, myMembers(index).ToString())
            Next index
        Else
            Console.WriteLine("No members match the search criteria.")
        End If
    End Sub
End Class

Comentarios

Los miembros incluyen propiedades, métodos, campos, eventos, etc.Members include properties, methods, fields, events, and so on.

El método GetMember no devuelve miembros en un orden determinado, como el orden alfabético o de declaración.The GetMember method does not return members in a particular order, such as alphabetical or declaration order. El código no debe depender del orden en el que se devuelven los miembros, ya que ese orden varía.Your code must not depend on the order in which members are returned, because that order varies.

Se pueden usar las siguientes marcas de filtro de BindingFlags para definir los miembros que se incluirán en la búsqueda:The following BindingFlags filter flags can be used to define which members to include in the search:

  • Debe especificar BindingFlags.Instance o BindingFlags.Static para obtener un valor devuelto.You must specify either BindingFlags.Instance or BindingFlags.Static in order to get a return.

  • Especifique BindingFlags.Public para incluir miembros públicos en la búsqueda.Specify BindingFlags.Public to include public members in the search.

  • Especifique BindingFlags.NonPublic para incluir miembros no públicos (es decir, miembros privados, internos y protegidos) en la búsqueda.Specify BindingFlags.NonPublic to include non-public members (that is, private, internal, and protected members) in the search.

  • Especifique BindingFlags.FlattenHierarchy para incluir public y protected miembros estáticos en la jerarquía. no se incluyen private miembros estáticos de las clases heredadas.Specify BindingFlags.FlattenHierarchy to include public and protected static members up the hierarchy; private static members in inherited classes are not included.

Se pueden usar las siguientes marcas de modificador de BindingFlags para cambiar el funcionamiento de la búsqueda:The following BindingFlags modifier flags can be used to change how the search works:

  • BindingFlags.IgnoreCase para omitir las mayúsculas y minúsculas de name.BindingFlags.IgnoreCase to ignore the case of name.

  • BindingFlags.DeclaredOnly para buscar solo los miembros declarados en el Type, no los miembros que se han heredado simplemente.BindingFlags.DeclaredOnly to search only the members declared on the Type, not members that were simply inherited.

Vea System.Reflection.BindingFlags para obtener más información.See System.Reflection.BindingFlags for more information.

Para obtener el inicializador de clase (constructor estático) mediante esta sobrecarga del método, debe especificar "constructor estático" para name, MemberTypes.Constructor para typey BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic Visual Basic) para bindingAttr.To get the class initializer (static constructor) using this method overload, you must specify "static constructor" for name, MemberTypes.Constructor for type, and BindingFlags.Static | BindingFlags.NonPublic (BindingFlags.StaticOrBindingFlags.NonPublic in Visual Basic) for bindingAttr. También puede obtener el inicializador de clase mediante la propiedad TypeInitializer.You can also get the class initializer using the TypeInitializer property.

Si el Type actual representa un tipo genérico construido, este método devuelve el MemberInfo con los parámetros de tipo reemplazados por los argumentos de tipo adecuados.If the current Type represents a constructed generic type, this method returns the MemberInfo with the type parameters replaced by the appropriate type arguments.

Si el Type actual representa un parámetro de tipo en la definición de un tipo genérico o de un método genérico, este método busca en los miembros de la restricción de clase o en los miembros de Object si no hay ninguna restricción de clase.If the current Type represents a type parameter in the definition of a generic type or generic method, this method searches the members of the class constraint, or the members of Object if there is no class constraint.

Nota

En el caso de los métodos genéricos, no incluya los argumentos de tipo en name.For generic methods, do not include the type arguments in name. Por ejemplo, el C# código GetMember("MyMethod<int>") busca un miembro con el nombre de texto "MyMethod<int>", en lugar de un método denominado MyMethod que tiene un argumento genérico de tipo int.For example, the C# code GetMember("MyMethod<int>") searches for a member with the text name "MyMethod<int>", rather than for a method named MyMethod that has one generic argument of type int.

Consulte también:

Se aplica a