ConstructorInfo Classe

Definição

Descobre os atributos de um construtor de classe e fornece acesso a metadados do construtor.

public ref class ConstructorInfo abstract : System::Reflection::MethodBase
public ref class ConstructorInfo abstract : System::Reflection::MethodBase, System::Runtime::InteropServices::_ConstructorInfo
public abstract class ConstructorInfo : System.Reflection.MethodBase
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class ConstructorInfo : System.Reflection.MethodBase, System.Runtime.InteropServices._ConstructorInfo
type ConstructorInfo = class
    inherit MethodBase
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
type ConstructorInfo = class
    inherit MethodBase
    interface _ConstructorInfo
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ConstructorInfo = class
    inherit MethodBase
    interface _ConstructorInfo
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Public MustInherit Class ConstructorInfo
Inherits MethodBase
Implements _ConstructorInfo
Herança
ConstructorInfo
Derivado
Atributos
Implementações

Exemplos

O exemplo seguinte usa ConstructorInfo com GetConstructor e BindingFlags para encontrar os construtores que correspondem aos critérios de pesquisa especificados.

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

public class MyClass3
{
    public MyClass3(int i) { }
    public static void Main()
    {
        try
        {
            Type myType = typeof(MyClass3);
            Type[] types = new Type[1];
            types[0] = typeof(int);
            // Get the public instance constructor that takes an integer parameter.
            ConstructorInfo constructorInfoObj = myType.GetConstructor(
                BindingFlags.Instance | BindingFlags.Public, null,
                CallingConventions.HasThis, types, null);
            if (constructorInfoObj != null)
            {
                Console.WriteLine("The constructor of MyClass3 that is a public " +
                    "instance method and takes an integer as a parameter is: ");
                Console.WriteLine(constructorInfoObj.ToString());
            }
            else
            {
                Console.WriteLine("The constructor of MyClass3 that is a public instance " +
                    "method and takes an integer as a parameter is not available.");
            }
        }
        catch (ArgumentNullException e)
        {
            Console.WriteLine("ArgumentNullException: " + e.Message);
        }
        catch (ArgumentException e)
        {
            Console.WriteLine("ArgumentException: " + e.Message);
        }
        catch (SecurityException e)
        {
            Console.WriteLine("SecurityException: " + e.Message);
        }
        catch (Exception e)
        {
            Console.WriteLine("Exception: " + e.Message);
        }
    }
}
Public Class MyClass1
    Public Sub New(ByVal i As Integer)
    End Sub
    Public Shared Sub Main()
        Try
            Dim myType As Type = GetType(MyClass1)
            Dim types(0) As Type
            types(0) = GetType(Integer)
            ' Get the public instance constructor that takes an integer parameter.
            Dim constructorInfoObj As ConstructorInfo = _
                        myType.GetConstructor(BindingFlags.Instance Or _
                        BindingFlags.Public, Nothing, _
                        CallingConventions.HasThis, types, Nothing)
            If Not (constructorInfoObj Is Nothing) Then
                Console.WriteLine("The constructor of MyClass1 that " + _
                                  "is a public instance method and takes an " + _
                                  "integer as a parameter is: ")
                Console.WriteLine(constructorInfoObj.ToString())
            Else
                Console.WriteLine("The constructor MyClass1 that " + _
                                  "is a public instance method and takes an " + _
                                  "integer as a parameter is not available.")
            End If
        Catch e As ArgumentNullException
            Console.WriteLine("ArgumentNullException: " + e.Message)
        Catch e As ArgumentException
            Console.WriteLine("ArgumentException: " + e.Message)
        Catch e As SecurityException
            Console.WriteLine("SecurityException: " + e.Message)
        Catch e As Exception
            Console.WriteLine("Exception: " + e.Message)
        End Try
    End Sub
End Class

Observações

ConstructorInfo é usado para descobrir os atributos de um construtor, bem como para invocar um construtor. Os objetos são criados ao chamar Invoke um ConstructorInfo devolvido pelo GetConstructors método ou GetConstructor de um Type objeto.

Note

ConstructorInfo herda de MethodBase vários membros, como IsGenericMethod, que podem ser usados para examinar métodos genéricos. No .NET Framework, os construtores versão 2.0 não podem ser genéricos, pelo que estes membros retornam false ou null.

Notas para Implementadores

Quando herda de ConstructorInfo, deve sobrepor a seguinte sobrecarga de membros: Invoke(BindingFlags, Binder, Object[], CultureInfo).

Construtores

Name Description
ConstructorInfo()

Inicializa uma nova instância da ConstructorInfo classe.

Campos

Name Description
ConstructorName

Representa o nome do método construtor de classes tal como armazenado nos metadados. Este nome é sempre ".ctor". Este campo é só de leitura.

TypeConstructorName

Representa o nome do método construtor de tipos tal como armazenado nos metadados. Este nome é sempre ".cctor". Esta propriedade é somente leitura.

Propriedades

Name Description
Attributes

Obtém os atributos associados a este método.

(Herdado de MethodBase)
CallingConvention

Obtém um valor que indica as convenções de chamada para este método.

(Herdado de MethodBase)
ContainsGenericParameters

Obtém um valor que indica se o método genérico contém parâmetros genéricos de tipo não atribuídos.

(Herdado de MethodBase)
CustomAttributes

Obtém uma coleção que contém os atributos personalizados deste membro.

(Herdado de MemberInfo)
DeclaringType

Recebe a classe que declara esse membro.

(Herdado de MemberInfo)
IsAbstract

Obtém um valor que indica se o método é abstrato.

(Herdado de MethodBase)
IsAssembly

Obtém um valor que indica se a visibilidade potencial deste método ou construtor é descrita por Assembly; isto é, o método ou construtor é visível no máximo para outros tipos no mesmo conjunto, e não é visível para tipos derivados fora do conjunto.

(Herdado de MethodBase)
IsConstructedGenericMethod

Descobre os atributos de um construtor de classe e fornece acesso a metadados do construtor.

(Herdado de MethodBase)
IsConstructor

Obtém um valor que indica se o método é um construtor.

(Herdado de MethodBase)
IsFamily

Recebe um valor que indica se a visibilidade deste método ou construtor é descrita por Family; isto é, o método ou construtor é visível apenas dentro da sua classe e das classes derivadas.

(Herdado de MethodBase)
IsFamilyAndAssembly

Obtém um valor que indica se a visibilidade deste método ou construtor é descrita por FamANDAssem; isto é, o método ou construtor pode ser chamado por classes derivadas, mas apenas se estiverem na mesma assembleia.

(Herdado de MethodBase)
IsFamilyOrAssembly

Obtém um valor que indica se a visibilidade potencial deste método ou construtor é descrita por FamORAssem; isto é, o método ou construtor pode ser chamado por classes derivadas onde quer que estejam, e por classes na mesma assembleia.

(Herdado de MethodBase)
IsFinal

Obtém um valor que indica se este método é final.

(Herdado de MethodBase)
IsGenericMethod

Obtém um valor que indica se o método é genérico.

(Herdado de MethodBase)
IsGenericMethodDefinition

Obtém um valor que indica se o método é uma definição genérica de método.

(Herdado de MethodBase)
IsHideBySig

Obtém um valor que indica se apenas um membro do mesmo tipo com exatamente a mesma assinatura está oculto na classe derivada.

(Herdado de MethodBase)
IsPrivate

Recebe um valor que indica se este membro é privado.

(Herdado de MethodBase)
IsPublic

Recebe um valor que indica se este é um método público.

(Herdado de MethodBase)
IsSecurityCritical

Obtém um valor que indica se o método ou construtor atual é crítico para segurança ou para segurança ao nível de confiança atual, podendo assim realizar operações críticas.

(Herdado de MethodBase)
IsSecuritySafeCritical

Obtém um valor que indica se o método ou construtor atual é crítico para segurança ao nível de confiança atual; ou seja, se pode realizar operações críticas e se pode ser acedido por código transparente.

(Herdado de MethodBase)
IsSecurityTransparent

Obtém um valor que indica se o método ou construtor atual é transparente ao nível de confiança atual e, portanto, não pode realizar operações críticas.

(Herdado de MethodBase)
IsSpecialName

Recebe um valor que indica se este método tem um nome especial.

(Herdado de MethodBase)
IsStatic

Obtém um valor que indica se o método é static.

(Herdado de MethodBase)
IsVirtual

Obtém um valor que indica se o método é virtual.

(Herdado de MethodBase)
MemberType

Obtém um MemberTypes valor que indica que este membro é um construtor.

MetadataToken

Obtém um valor que identifica um elemento de metadados.

(Herdado de MemberInfo)
MethodHandle

Obtém uma compreensão da representação interna dos metadados de um método.

(Herdado de MethodBase)
MethodImplementationFlags

Recebe as MethodImplAttributes flags que especificam os atributos de uma implementação de método.

(Herdado de MethodBase)
Module

Obtém o módulo em que o tipo que declara o elemento representado pela corrente MemberInfo está definido.

(Herdado de MemberInfo)
Name

Fica com o nome do membro atual.

(Herdado de MemberInfo)
ReflectedType

Obtém o objeto de classe que foi usado para obter esta instância de MemberInfo.

(Herdado de MemberInfo)

Métodos

Name Description
Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

GetCustomAttributes(Boolean)

Quando sobrescrito numa classe derivada, devolve um array de todos os atributos personalizados aplicados a este membro.

(Herdado de MemberInfo)
GetCustomAttributes(Type, Boolean)

Quando sobrescrito numa classe derivada, devolve um array de atributos personalizados aplicados a este membro e identificados por Type.

(Herdado de MemberInfo)
GetCustomAttributesData()

Devolve uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro alvo.

(Herdado de MemberInfo)
GetGenericArguments()

Devolve um array de Type objetos que representam os argumentos de tipo de um método genérico ou os parâmetros de tipo de uma definição de método genérico.

(Herdado de MethodBase)
GetHashCode()

Devolve o código de hash para esta instância.

GetMethodBody()

Quando é sobreposto numa classe derivada, obtém um MethodBody objeto que fornece acesso ao fluxo MSIL, variáveis locais e exceções para o método atual.

(Herdado de MethodBase)
GetMethodImplementationFlags()

Quando sobreposto numa classe derivada, devolve as MethodImplAttributes bandeiras.

(Herdado de MethodBase)
GetParameters()

Quando sobrescrito numa classe derivada, obtém os parâmetros do método ou construtor especificado.

(Herdado de MethodBase)
GetType()

Descobre os atributos de um construtor de classe e fornece acesso a metadados do construtor.

HasSameMetadataDefinitionAs(MemberInfo)

Descobre os atributos de um construtor de classe e fornece acesso a metadados do construtor.

(Herdado de MemberInfo)
Invoke(BindingFlags, Binder, Object[], CultureInfo)

Quando implementado numa classe derivada, invoca o construtor refletido por este ConstructorInfo com os argumentos especificados, sob as restrições do especificado Binder.

Invoke(Object, BindingFlags, Binder, Object[], CultureInfo)

Quando sobrescrito numa classe derivada, invoca o método ou construtor refletido com os parâmetros dados.

(Herdado de MethodBase)
Invoke(Object, Object[])

Invoca o método ou construtor representado pela instância atual, usando os parâmetros especificados.

(Herdado de MethodBase)
Invoke(Object[])

Invoca o construtor refletido pela instância que tem os parâmetros especificados, fornecendo valores por defeito para os parâmetros não comumente usados.

IsDefined(Type, Boolean)

Quando sobrescrito numa classe derivada, indica se um ou mais atributos do tipo especificado ou dos seus tipos derivados são aplicados a este membro.

(Herdado de MemberInfo)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Operadores

Name Description
Equality(ConstructorInfo, ConstructorInfo)

Indica se dois ConstructorInfo objetos são iguais.

Inequality(ConstructorInfo, ConstructorInfo)

Indica se dois ConstructorInfo objetos não são iguais.

Implementações de Interface Explícita

Name Description
_ConstructorInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

_ConstructorInfo.GetType()

Obtém um Type objeto que represente o ConstructorInfo tipo.

_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface.

_ConstructorInfo.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

_ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo)

Fornece aos objetos COM acesso independente da versão ao Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) método.

_ConstructorInfo.Invoke_3(Object, Object[])

Fornece aos objetos COM acesso independente da versão ao Invoke(Object, Object[]) método.

_ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo)

Fornece aos objetos COM acesso independente da versão ao Invoke(BindingFlags, Binder, Object[], CultureInfo) método.

_ConstructorInfo.Invoke_5(Object[])

Fornece aos objetos COM acesso independente da versão ao Invoke(Object[]) método.

_ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

_MemberInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de MemberInfo)
_MemberInfo.GetType()

Obtém um Type objeto que representa a MemberInfo classe.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface.

(Herdado de MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

(Herdado de MethodBase)
_MethodBase.GetType()

Para uma descrição deste elemento, veja GetType().

(Herdado de MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo para uma interface.

(Herdado de MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1).

(Herdado de MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Proporciona acesso a propriedades e métodos expostos por um objeto.

(Herdado de MethodBase)
_MethodBase.IsAbstract

Para uma descrição deste elemento, veja IsAbstract.

(Herdado de MethodBase)
_MethodBase.IsAssembly

Para uma descrição deste elemento, veja IsAssembly.

(Herdado de MethodBase)
_MethodBase.IsConstructor

Para uma descrição deste elemento, veja IsConstructor.

(Herdado de MethodBase)
_MethodBase.IsFamily

Para uma descrição deste elemento, veja IsFamily.

(Herdado de MethodBase)
_MethodBase.IsFamilyAndAssembly

Para uma descrição deste elemento, veja IsFamilyAndAssembly.

(Herdado de MethodBase)
_MethodBase.IsFamilyOrAssembly

Para uma descrição deste elemento, veja IsFamilyOrAssembly.

(Herdado de MethodBase)
_MethodBase.IsFinal

Para uma descrição deste elemento, veja IsFinal.

(Herdado de MethodBase)
_MethodBase.IsHideBySig

Para uma descrição deste elemento, veja IsHideBySig.

(Herdado de MethodBase)
_MethodBase.IsPrivate

Para uma descrição deste elemento, veja IsPrivate.

(Herdado de MethodBase)
_MethodBase.IsPublic

Para uma descrição deste elemento, veja IsPublic.

(Herdado de MethodBase)
_MethodBase.IsSpecialName

Para uma descrição deste elemento, veja IsSpecialName.

(Herdado de MethodBase)
_MethodBase.IsStatic

Para uma descrição deste elemento, veja IsStatic.

(Herdado de MethodBase)
_MethodBase.IsVirtual

Para uma descrição deste elemento, veja IsVirtual.

(Herdado de MethodBase)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Devolve um array de todos os atributos personalizados definidos neste membro, excluindo atributos nomeados, ou um array vazio se não existirem atributos personalizados.

(Herdado de MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Devolve um array de atributos personalizados definidos neste membro, identificados pelo tipo, ou um array vazio se não existirem atributos personalizados desse tipo.

(Herdado de MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Indica se uma ou mais instâncias de attributeType estão definidas neste membro.

(Herdado de MemberInfo)

Métodos da Extensão

Name Description
GetCustomAttribute(MemberInfo, Type, Boolean)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro.

GetCustomAttribute(MemberInfo, Type)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado.

GetCustomAttribute<T>(MemberInfo, Boolean)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro.

GetCustomAttribute<T>(MemberInfo)

Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado.

GetCustomAttributes(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro.

GetCustomAttributes(MemberInfo, Type, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro.

GetCustomAttributes(MemberInfo, Type)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado.

GetCustomAttributes(MemberInfo)

Recupera uma coleção de atributos personalizados que são aplicados a um membro especificado.

GetCustomAttributes<T>(MemberInfo, Boolean)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado e, opcionalmente, inspeciona os antepassados desse membro.

GetCustomAttributes<T>(MemberInfo)

Recupera uma coleção de atributos personalizados de um tipo especificado que são aplicados a um membro especificado.

IsDefined(MemberInfo, Type, Boolean)

Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado e, opcionalmente, aplicados aos seus antecessores.

IsDefined(MemberInfo, Type)

Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado.

Aplica-se a

Segurança de Thread

Este tipo é seguro para fios.