ConstructorInfo Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Descobre os atributos de um construtor de classe e fornece acesso aos 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
- Derivado
- Atributos
- Implementações
Exemplos
O exemplo a seguir usa ConstructorInfoGetConstructor e BindingFlags para localizar 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
Comentários
ConstructorInfo é usado para descobrir os atributos de um construtor, bem como para invocar um construtor. Os objetos são criados chamando Invoke um ConstructorInfo retornado pelo método ou GetConstructor pelo GetConstructors método de um Type objeto.
Note
ConstructorInfo herda de MethodBase vários membros, como IsGenericMethod, que podem ser usados para examinar métodos genéricos. Nos construtores do .NET Framework versão 2.0 não podem ser genéricos, portanto, esses membros retornam false ou null.
Notas aos Implementadores
Ao herdar, ConstructorInfovocê deve substituir a seguinte sobrecarga de membro: Invoke(BindingFlags, Binder, Object[], CultureInfo).
Construtores
| Nome | Description |
|---|---|
| ConstructorInfo() |
Inicializa uma nova instância da classe ConstructorInfo. |
Campos
| Nome | Description |
|---|---|
| ConstructorName |
Representa o nome do método construtor de classe, pois ele é armazenado em metadados. Esse nome é sempre ".ctor". O campo é somente leitura. |
| TypeConstructorName |
Representa o nome do método construtor de tipo, pois ele é armazenado em metadados. Esse nome é sempre ".cctor". Esta propriedade é somente para leitura. |
Propriedades
| Nome | Description |
|---|---|
| Attributes |
Obtém os atributos associados a esse método. (Herdado de MethodBase) |
| CallingConvention |
Obtém um valor que indica as convenções de chamada para esse método. (Herdado de MethodBase) |
| ContainsGenericParameters |
Obtém um valor que indica se o método genérico contém parâmetros de tipo genérico não atribuídos. (Herdado de MethodBase) |
| CustomAttributes |
Obtém uma coleção que contém os atributos personalizados desse membro. (Herdado de MemberInfo) |
| DeclaringType |
Obtém 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 desse método ou construtor é descrita por Assembly; ou seja, o método ou construtor é visível no máximo para outros tipos no mesmo assembly e não é visível para tipos derivados fora do assembly. (Herdado de MethodBase) |
| IsConstructedGenericMethod |
Descobre os atributos de um construtor de classe e fornece acesso aos metadados do construtor. (Herdado de MethodBase) |
| IsConstructor |
Obtém um valor que indica se o método é um construtor. (Herdado de MethodBase) |
| IsFamily |
Obtém um valor que indica se a visibilidade desse método ou construtor é descrita por Family; ou seja, o método ou construtor é visível apenas dentro de sua classe e classes derivadas. (Herdado de MethodBase) |
| IsFamilyAndAssembly |
Obtém um valor que indica se a visibilidade desse método ou construtor é descrita por FamANDAssem; ou seja, o método ou construtor pode ser chamado por classes derivadas, mas somente se estiverem no mesmo assembly. (Herdado de MethodBase) |
| IsFamilyOrAssembly |
Obtém um valor que indica se a visibilidade potencial desse método ou construtor é descrita por FamORAssem; ou seja, o método ou construtor pode ser chamado por classes derivadas onde quer que estejam e por classes no mesmo assembly. (Herdado de MethodBase) |
| IsFinal |
Obtém um valor que indica se esse método é |
| 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 de método genérico. (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 |
Obtém um valor que indica se esse membro é privado. (Herdado de MethodBase) |
| IsPublic |
Obtém um valor que indica se esse é um método público. (Herdado de MethodBase) |
| IsSecurityCritical |
Obtém um valor que indica se o método ou construtor atual é crítico de segurança ou seguro-crítico no nível de confiança atual e, portanto, pode executar operações críticas. (Herdado de MethodBase) |
| IsSecuritySafeCritical |
Obtém um valor que indica se o método ou construtor atual é crítico de segurança no nível de confiança atual; ou seja, se ele pode executar operações críticas e pode ser acessado por código transparente. (Herdado de MethodBase) |
| IsSecurityTransparent |
Obtém um valor que indica se o método ou construtor atual é transparente no nível de confiança atual e, portanto, não pode executar operações críticas. (Herdado de MethodBase) |
| IsSpecialName |
Obtém um valor que indica se esse método tem um nome especial. (Herdado de MethodBase) |
| IsStatic |
Obtém um valor que indica se o método é |
| IsVirtual |
Obtém um valor que indica se o método é |
| MemberType |
Obtém um MemberTypes valor que indica que esse membro é um construtor. |
| MetadataToken |
Obtém um valor que identifica um elemento de metadados. (Herdado de MemberInfo) |
| MethodHandle |
Obtém um identificador para a representação de metadados interna de um método. (Herdado de MethodBase) |
| MethodImplementationFlags |
Obtém os MethodImplAttributes sinalizadores que especificam os atributos de uma implementação de método. (Herdado de MethodBase) |
| Module |
Obtém o módulo no qual o tipo que declara o membro representado pela corrente MemberInfo é definido. (Herdado de MemberInfo) |
| Name |
Obtém o nome do membro atual. (Herdado de MemberInfo) |
| ReflectedType |
Obtém o objeto de classe que foi usado para obter essa instância de |
Métodos
| Nome | Description |
|---|---|
| Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. |
| GetCustomAttributes(Boolean) |
Quando substituído em uma classe derivada, retorna uma matriz de todos os atributos personalizados aplicados a esse membro. (Herdado de MemberInfo) |
| GetCustomAttributes(Type, Boolean) |
Quando substituído em uma classe derivada, retorna uma matriz de atributos personalizados aplicados a esse membro e identificados por Type. (Herdado de MemberInfo) |
| GetCustomAttributesData() |
Retorna uma lista de CustomAttributeData objetos que representam dados sobre os atributos que foram aplicados ao membro de destino. (Herdado de MemberInfo) |
| GetGenericArguments() |
Retorna uma matriz 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 hash para esta instância. |
| GetMethodBody() |
Quando substituído em uma 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 substituído em uma classe derivada, retorna os MethodImplAttributes sinalizadores. (Herdado de MethodBase) |
| GetParameters() |
Quando substituído em uma 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 aos metadados do construtor. |
| HasSameMetadataDefinitionAs(MemberInfo) |
Descobre os atributos de um construtor de classe e fornece acesso aos metadados do construtor. (Herdado de MemberInfo) |
| Invoke(BindingFlags, Binder, Object[], CultureInfo) |
Quando implementado em uma classe derivada, invoca o construtor refletido por isso |
| Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
Quando substituído em uma classe derivada, invoca o método refletido ou o construtor com os parâmetros especificados. (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 padrão para os parâmetros não comumente usados. |
| IsDefined(Type, Boolean) |
Quando substituído em uma classe derivada, indica se um ou mais atributos do tipo especificado ou de seus tipos derivados são aplicados a esse membro. (Herdado de MemberInfo) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
Operadores
| Nome | 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. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| _ConstructorInfo.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição. |
| _ConstructorInfo.GetType() |
Obtém um Type objeto que representa o ConstructorInfo tipo. |
| _ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface. |
| _ConstructorInfo.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). |
| _ConstructorInfo.Invoke_2(Object, BindingFlags, Binder, Object[], CultureInfo) |
Fornece objetos COM com acesso independente de versão ao Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) método. |
| _ConstructorInfo.Invoke_3(Object, Object[]) |
Fornece objetos COM com acesso independente de versão ao Invoke(Object, Object[]) método. |
| _ConstructorInfo.Invoke_4(BindingFlags, Binder, Object[], CultureInfo) |
Fornece objetos COM com acesso independente de versão ao Invoke(BindingFlags, Binder, Object[], CultureInfo) método. |
| _ConstructorInfo.Invoke_5(Object[]) |
Fornece objetos COM com acesso independente de versão ao Invoke(Object[]) método. |
| _ConstructorInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece 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 expedição. (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 do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface. (Herdado de MemberInfo) |
| _MemberInfo.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de MemberInfo) |
| _MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece 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 expedição. (Herdado de MethodBase) |
| _MethodBase.GetType() |
Para obter uma descrição deste membro, consulte GetType(). (Herdado de MethodBase) |
| _MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera as informações do tipo de um objeto, que podem ser usadas para obter informações de tipo para uma interface. (Herdado de MethodBase) |
| _MethodBase.GetTypeInfoCount(UInt32) |
Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1). (Herdado de MethodBase) |
| _MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de MethodBase) |
| _MethodBase.IsAbstract |
Para obter uma descrição deste membro, consulte IsAbstract. (Herdado de MethodBase) |
| _MethodBase.IsAssembly |
Para obter uma descrição deste membro, consulte IsAssembly. (Herdado de MethodBase) |
| _MethodBase.IsConstructor |
Para obter uma descrição deste membro, consulte IsConstructor. (Herdado de MethodBase) |
| _MethodBase.IsFamily |
Para obter uma descrição deste membro, consulte IsFamily. (Herdado de MethodBase) |
| _MethodBase.IsFamilyAndAssembly |
Para obter uma descrição deste membro, consulte IsFamilyAndAssembly. (Herdado de MethodBase) |
| _MethodBase.IsFamilyOrAssembly |
Para obter uma descrição deste membro, consulte IsFamilyOrAssembly. (Herdado de MethodBase) |
| _MethodBase.IsFinal |
Para obter uma descrição deste membro, consulte IsFinal. (Herdado de MethodBase) |
| _MethodBase.IsHideBySig |
Para obter uma descrição deste membro, consulte IsHideBySig. (Herdado de MethodBase) |
| _MethodBase.IsPrivate |
Para obter uma descrição deste membro, consulte IsPrivate. (Herdado de MethodBase) |
| _MethodBase.IsPublic |
Para obter uma descrição deste membro, consulte IsPublic. (Herdado de MethodBase) |
| _MethodBase.IsSpecialName |
Para obter uma descrição deste membro, consulte IsSpecialName. (Herdado de MethodBase) |
| _MethodBase.IsStatic |
Para obter uma descrição deste membro, consulte IsStatic. (Herdado de MethodBase) |
| _MethodBase.IsVirtual |
Para obter uma descrição deste membro, consulte IsVirtual. (Herdado de MethodBase) |
| ICustomAttributeProvider.GetCustomAttributes(Boolean) |
Retorna uma matriz de todos os atributos personalizados definidos neste membro, excluindo atributos nomeados ou uma matriz vazia se não houver atributos personalizados. (Herdado de MemberInfo) |
| ICustomAttributeProvider.GetCustomAttributes(Type, Boolean) |
Retorna uma matriz de atributos personalizados definidos neste membro, identificados por tipo ou uma matriz vazia se não houver atributos personalizados desse tipo. (Herdado de MemberInfo) |
| ICustomAttributeProvider.IsDefined(Type, Boolean) |
Indica se uma ou mais instâncias são |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetCustomAttribute(MemberInfo, Type, Boolean) |
Recupera um atributo personalizado de um tipo especificado que é aplicado a um membro especificado e, opcionalmente, inspeciona os ancestrais 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 ancestrais 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 ancestrais 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 ancestrais 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 ancestrais 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 a seus ancestrais. |
| IsDefined(MemberInfo, Type) |
Indica se atributos personalizados de um tipo especificado são aplicados a um membro especificado. |
Aplica-se a
Acesso thread-safe
Esse tipo é thread safe.