Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Classe MemberInfo

Obtém informações sobre os atributos de um membro e fornece acesso aos metadados do mesmo.

Namespace:  System.Reflection
Assembly:  mscorlib (em mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
[PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")]
public abstract class MemberInfo : ICustomAttributeProvider, 
	_MemberInfo

O tipo MemberInfo expõe os membros a seguir.

  NomeDescrição
Método protegidoCompatível com o XNA FrameworkMemberInfoInitializes a new instance of the MemberInfo class.
Início
  NomeDescrição
Propriedade públicaCompatível com o XNA FrameworkDeclaringTypeObtém a classe que declara a este membro.
Propriedade públicaCompatível com o XNA FrameworkMemberTypeQuando substituído em uma classe derivada, obtém uma MemberTypes valor que indica o tipo do membro — método, construtor, eventos e assim por diante.
Propriedade públicaMetadataTokenObtém um valor que identifica um elemento de metadados.
Propriedade públicaModuleObtém o módulo no qual o tipo que declara o membro representado pelo atual MemberInfo está definido.
Propriedade públicaCompatível com o XNA FrameworkNameObtém o nome do membro atual.
Propriedade públicaCompatível com o XNA FrameworkReflectedTypeObtém o objeto de classe que foi usado para obter esta instância do MemberInfo.
Início
  NomeDescrição
Método públicoCompatível com o XNA FrameworkEquals Retorna um valor que indica se essa instância é igual a um objeto especificado. (Substitui Object.Equals(Object).)

No XNA Framework 3.0, este membro é herdado de Object.Equals(Object).
Método protegidoCompatível com o XNA FrameworkFinalize Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)
Método públicoCompatível com o XNA FrameworkGetCustomAttributes(Boolean)Quando substituído em uma classe derivada, retorna uma matriz de todos os atributos personalizados aplicado a este membro.
Método públicoCompatível com o XNA FrameworkGetCustomAttributes(Type, Boolean)Quando substituído em uma classe derivada, retorna uma matriz dos atributos personalizados aplicado a este membro e identificado por Type.
Método públicoGetCustomAttributesDataRetorna uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro de destino.
Método públicoCompatível com o XNA FrameworkGetHashCodeRetorna o código hash para essa instância. (Substitui Object.GetHashCode().)

No XNA Framework 3.0, este membro é herdado de Object.GetHashCode().
Método públicoCompatível com o XNA FrameworkGetType Obtém o Type da instância atual. (Herdado de Object.)
Método públicoCompatível com o XNA FrameworkIsDefinedQuando substituído em uma classe derivada, indica se um ou mais atributos do tipo especificado ou de seus tipos derivados é aplicada a este membro.
Método protegidoCompatível com o XNA FrameworkMemberwiseCloneCria uma cópia superficial do Object atual. (Herdado de Object.)
Método públicoCompatível com o XNA FrameworkToStringRetorna uma string que representa o objeto atual. (Herdado de Object.)
Início
  NomeDescrição
Operador públicoMembro estáticoEqualityIndica se dois MemberInfo os objetos são iguais.
Operador públicoMembro estáticoInequalityIndica se dois MemberInfo os objetos são iguais.
Início
  NomeDescrição
Implementação explícita da interfaceMétodo particular_MemberInfo.GetIDsOfNamesMapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.
Implementação explícita da interfaceMétodo particular_MemberInfo.GetTypeObtém um Type objeto que representa o MemberInfo classe.
Implementação explícita da interfaceMétodo particular_MemberInfo.GetTypeInfoRecupera as informações de tipo para um objeto, em seguida, pode ser usado para obter as informações de tipo para uma interface.
Implementação explícita da interfaceMétodo particular_MemberInfo.GetTypeInfoCountRecupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).
Implementação explícita da interfaceMétodo particular_MemberInfo.InvokeFornece acesso a propriedades e métodos expostos por um objeto.
Início

A classe MemberInfo é a classe abstrata de base para classes usadas para obter informações sobre todos membros de uma classe (construtores, eventos, campos, métodos e propriedades).

Essa classe apresenta a funcionalidade básica que fornecem a todos os membros.

Observações para herdeiros

Quando você herda de MemberInfo você deve sobrescrever os seguintes membros: GetCustomAttributes e IsDefined.

Este exemplo mostra como usar várias classes de reflexão para analisar os metadados contidos em um assembly.


using System;
using System.Reflection;

class Module1
{

    public static void Main()
    {
        // This variable holds the amount of indenting that 
        // should be used when displaying each line of information.
        Int32 indent = 0;
        // Display information about the EXE assembly.
        Assembly a = System.Reflection.Assembly.GetExecutingAssembly();
        Display(indent, "Assembly identity={0}", a.FullName);
        Display(indent+1, "Codebase={0}", a.CodeBase);

        // Display the set of assemblies our assemblies reference.

        Display(indent, "Referenced assemblies:");
        foreach (AssemblyName an in a.GetReferencedAssemblies() )
        {
             Display(indent + 1, "Name={0}, Version={1}, Culture={2}, PublicKey token={3}", an.Name, an.Version, an.CultureInfo.Name, (BitConverter.ToString (an.GetPublicKeyToken())));
        }
        Display(indent, "");

        // Display information about each assembly loading into this AppDomain.
        foreach (Assembly b in AppDomain.CurrentDomain.GetAssemblies())
        {
            Display(indent, "Assembly: {0}", b);

            // Display information about each module of this assembly.
            foreach ( Module m in b.GetModules(true) )
            {
                Display(indent+1, "Module: {0}", m.Name);
            }

            // Display information about each type exported from this assembly.

            indent += 1;
            foreach ( Type t in b.GetExportedTypes() )
            {
                Display(0, "");
                Display(indent, "Type: {0}", t);

                // For each type, show its members & their custom attributes.

                indent += 1;
                foreach (MemberInfo mi in t.GetMembers() )
                {
                    Display(indent, "Member: {0}", mi.Name);
                    DisplayAttributes(indent, mi);

                    // If the member is a method, display information about its parameters.

                    if (mi.MemberType==MemberTypes.Method)
                    {
                        foreach ( ParameterInfo pi in ((MethodInfo) mi).GetParameters() )
                        {
                            Display(indent+1, "Parameter: Type={0}, Name={1}", pi.ParameterType, pi.Name);
                        }
                    }

                    // If the member is a property, display information about the property's accessor methods.
                    if (mi.MemberType==MemberTypes.Property)
                    {
                        foreach ( MethodInfo am in ((PropertyInfo) mi).GetAccessors() )
                        {
                            Display(indent+1, "Accessor method: {0}", am);
                        }
                    }
                }
                indent -= 1;
            }
            indent -= 1;
        }
    }

    // Displays the custom attributes applied to the specified member.
    public static void DisplayAttributes(Int32 indent, MemberInfo mi)
    {
        // Get the set of custom attributes; if none exist, just return.
        object[] attrs = mi.GetCustomAttributes(false);
        if (attrs.Length==0) {return;}

        // Display the custom attributes applied to this member.
        Display(indent+1, "Attributes:");
        foreach ( object o in attrs )
        {
            Display(indent+2, "{0}", o.ToString());
        }
    }

    // Display a formatted string indented by the specified amount.
    public static void Display(Int32 indent, string format, params object[] param) 

    {
        Console.Write(new string(' ', indent*2));
        Console.WriteLine(format, param);
    }
}

//The output shown below is abbreviated.
//
//Assembly identity=ReflectionCS, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
//  Codebase=file:///C:/Documents and Settings/test/My Documents/Visual Studio 2005/Projects/Reflection/Reflection/obj/Debug/Reflection.exe
//Referenced assemblies:
//  Name=mscorlib, Version=2.0.0.0, Culture=, PublicKey token=B7-7A-5C-56-19-34-E0-89
//
//Assembly: mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//  Module: mscorlib.dll
//
//  Type: System.Object
//    Member: GetType
//    Member: ToString
//    Member: Equals
//      Parameter: Type=System.Object, Name=obj
//    Member: Equals
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: ReferenceEquals
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=System.Object, Name=objA
//      Parameter: Type=System.Object, Name=objB
//    Member: GetHashCode
//    Member: .ctor
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//
//  Type: System.ICloneable
//    Member: Clone
//
//  Type: System.Collections.IEnumerable
//    Member: GetEnumerator
//      Attributes:
//        System.Runtime.InteropServices.DispIdAttribute
//
//  Type: System.Collections.ICollection
//    Member: CopyTo
//      Parameter: Type=System.Array, Name=array
//      Parameter: Type=System.Int32, Name=index
//    Member: get_Count
//    Member: get_SyncRoot
//    Member: get_IsSynchronized
//    Member: Count
//      Accessor method: Int32 get_Count()
//    Member: SyncRoot
//      Accessor method: System.Object get_SyncRoot()
//    Member: IsSynchronized
//      Accessor method: Boolean get_IsSynchronized()
//
//  Type: System.Collections.IList
//    Member: get_Item
//      Parameter: Type=System.Int32, Name=index
//    Member: set_Item
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Add
//      Parameter: Type=System.Object, Name=value
//    Member: Contains
//      Parameter: Type=System.Object, Name=value
//    Member: Clear
//    Member: get_IsReadOnly
//    Member: get_IsFixedSize
//    Member: IndexOf
//      Parameter: Type=System.Object, Name=value
//    Member: Insert
//      Parameter: Type=System.Int32, Name=index
//      Parameter: Type=System.Object, Name=value
//    Member: Remove
//      Parameter: Type=System.Object, Name=value
//    Member: RemoveAt
//      Parameter: Type=System.Int32, Name=index
//    Member: Item
//      Accessor method: System.Object get_Item(Int32)
//      Accessor method: Void set_Item(Int32, System.Object)
//    Member: IsReadOnly
//      Accessor method: Boolean get_IsReadOnly()
//    Member: IsFixedSize
//      Accessor method: Boolean get_IsFixedSize()
//
//  Type: System.Array
//    Member: IndexOf
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: AsReadOnly
//      Parameter: Type=T[], Name=array
//    Member: Resize
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[]&, Name=array
//      Parameter: Type=System.Int32, Name=newSize
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//    Member: BinarySearch
//      Attributes:
//        System.Runtime.ConstrainedExecution.ReliabilityContractAttribute
//      Parameter: Type=T[], Name=array
//      Parameter: Type=T, Name=value
//      Parameter: Type=System.Collections.Generic.IComparer`1[T], Name=comparer


.NET Framework

Com suporte em: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core não compatível), Windows Server 2008 R2 (Server Core não compatível com SP1 ou posterior), Windows Server 2003 SP2

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte Requisitos de sistema do .NET Framework.

Esse tipo é de Thread de segurança.

Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.