ConstructorInfo Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
- 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 é |
| 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 é |
| IsVirtual |
Obtém um valor que indica se o método é |
| 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 |
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 |
| 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 |
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.