Sdílet prostřednictvím


ConstructorInfo Třída

Definice

Zjistí atributy konstruktoru třídy a poskytuje přístup k metadatům konstruktoru.

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
Dědičnost
ConstructorInfo
Odvozené
Atributy
Implementuje

Příklady

Následující příklad používá ConstructorInfo s GetConstructor a BindingFlags k vyhledání konstruktorů, které odpovídají zadaným kritériím hledání.

using namespace System;
using namespace System::Reflection;
using namespace System::Security;
public ref class MyClass1
{
public:
   MyClass1( int i ){}

};

int main()
{
   try
   {
      Type^ myType = MyClass1::typeid;
      array<Type^>^types = gcnew array<Type^>(1);
      types[ 0 ] = int::typeid;
      
      // Get the public instance constructor that takes an integer parameter.
      ConstructorInfo^ constructorInfoObj = myType->GetConstructor( static_cast<BindingFlags>(BindingFlags::Instance | BindingFlags::Public), nullptr, CallingConventions::HasThis, types, nullptr );
      if ( constructorInfoObj != nullptr )
      {
         Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is: " );
         Console::WriteLine( constructorInfoObj );
      }
      else
      {
         Console::WriteLine( "The constructor of MyClass1 that is a public instance method and takes an integer as a parameter is not available." );
      }
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e->Message );
   }
   catch ( ArgumentException^ e ) 
   {
      Console::WriteLine( "ArgumentException: {0}", e->Message );
   }
   catch ( SecurityException^ e ) 
   {
      Console::WriteLine( "SecurityException: {0}", e->Message );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception: {0}", e->Message );
   }
}
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

Poznámky

ConstructorInfo se používá ke zjištění atributů konstruktoru a také k vyvolání konstruktoru. Objekty jsou vytvořeny voláním InvokeConstructorInfo vrácené metodou objektu GetConstructorsType neboGetConstructor.

Poznámka

ConstructorInfo dědí z MethodBase několika členů, například IsGenericMethod, které lze použít ke zkoumání obecných metod. V rozhraní .NET Framework verze 2.0 konstruktory nemohou být obecné, takže tyto členy vrátí false nebo null.

Poznámky pro implementátory

Pokud dědíte z ConstructorInfo, musíte přepsat následující přetížení člena: Invoke(BindingFlags, Binder, Object[], CultureInfo).

Konstruktory

ConstructorInfo()

Inicializuje novou instanci ConstructorInfo třídy .

Pole

ConstructorName

Představuje název metody konstruktoru třídy, protože je uložena v metadatech. Tento název je vždy ".ctor". Toto pole je jen ke čtení.

TypeConstructorName

Představuje název metody konstruktoru typu, jak je uložena v metadatech. Tento název je vždy ".cctor". Tato vlastnost je jen ke čtení.

Vlastnosti

Attributes

Získá atributy přidružené k této metodě.

(Zděděno od MethodBase)
CallingConvention

Získá hodnotu označující konvence volání pro tuto metodu.

(Zděděno od MethodBase)
ContainsGenericParameters

Získá hodnotu označující, zda obecná metoda obsahuje nepřiřazené parametry obecného typu.

(Zděděno od MethodBase)
CustomAttributes

Získá kolekci, která obsahuje vlastní atributy tohoto člena.

(Zděděno od MemberInfo)
DeclaringType

Získá třídu, která deklaruje tento člen.

(Zděděno od MemberInfo)
IsAbstract

Získá hodnotu označující, zda je metoda abstraktní.

(Zděděno od MethodBase)
IsAssembly

Získá hodnotu označující, zda potenciální viditelnost této metody nebo konstruktoru je popsána ; Assemblyto znamená, že metoda nebo konstruktor je viditelné nejvýše pro jiné typy ve stejném sestavení a není viditelné pro odvozené typy mimo sestavení.

(Zděděno od MethodBase)
IsCollectible

Získá hodnotu, která označuje, zda je tento MemberInfo objekt součástí sestavení uchovávaného v collectible AssemblyLoadContext.

(Zděděno od MemberInfo)
IsConstructedGenericMethod

Zjistí atributy konstruktoru třídy a poskytuje přístup k metadatům konstruktoru.

(Zděděno od MethodBase)
IsConstructor

Získá hodnotu označující, zda je metoda konstruktor.

(Zděděno od MethodBase)
IsFamily

Získá hodnotu označující, zda viditelnost této metody nebo konstruktoru je popsána ; Familyto znamená, že metoda nebo konstruktor je viditelná pouze v rámci své třídy a odvozené třídy.

(Zděděno od MethodBase)
IsFamilyAndAssembly

Získá hodnotu označující, zda viditelnost této metody nebo konstruktoru je popsána ; FamANDAssemto znamená, že metodu nebo konstruktor lze volat odvozenými třídami, ale pouze pokud jsou ve stejném sestavení.

(Zděděno od MethodBase)
IsFamilyOrAssembly

Získá hodnotu označující, zda potenciální viditelnost této metody nebo konstruktoru je popsána ; FamORAssemto znamená, že metoda nebo konstruktor mohou být volány odvozenými třídami bez ohledu na to, kde jsou, a třídami ve stejném sestavení.

(Zděděno od MethodBase)
IsFinal

Získá hodnotu označující, zda je finaltato metoda .

(Zděděno od MethodBase)
IsGenericMethod

Získá hodnotu označující, zda je metoda obecná.

(Zděděno od MethodBase)
IsGenericMethodDefinition

Získá hodnotu označující, zda je metoda definice obecné metody.

(Zděděno od MethodBase)
IsHideBySig

Získá hodnotu označující, zda je v odvozené třídě skrytý pouze člen stejného druhu s přesně stejným podpisem.

(Zděděno od MethodBase)
IsPrivate

Získá hodnotu označující, zda je tento člen soukromý.

(Zděděno od MethodBase)
IsPublic

Získá hodnotu označující, zda se jedná o veřejnou metodu.

(Zděděno od MethodBase)
IsSecurityCritical

Získá hodnotu, která označuje, zda aktuální metoda nebo konstruktor je kritické zabezpečení nebo zabezpečení-bezpečné-kritické na aktuální úrovni důvěryhodnosti, a proto může provádět kritické operace.

(Zděděno od MethodBase)
IsSecuritySafeCritical

Získá hodnotu, která označuje, zda aktuální metoda nebo konstruktor je zabezpečení-bezpečné-kritické na aktuální úroveň důvěryhodnosti; to znamená, zda může provádět kritické operace a může být přístupný transparentním kódem.

(Zděděno od MethodBase)
IsSecurityTransparent

Získá hodnotu, která označuje, zda aktuální metoda nebo konstruktor je transparentní na aktuální úrovni důvěryhodnosti, a proto nelze provést kritické operace.

(Zděděno od MethodBase)
IsSpecialName

Získá hodnotu označující, zda má tato metoda zvláštní název.

(Zděděno od MethodBase)
IsStatic

Získá hodnotu označující, zda je staticmetoda .

(Zděděno od MethodBase)
IsVirtual

Získá hodnotu označující, zda je virtualmetoda .

(Zděděno od MethodBase)
MemberType

MemberTypes Získá hodnotu označující, že tento člen je konstruktor.

MemberType

Při přepsání v odvozené třídě získá MemberTypes hodnotu označující typ členu – metoda, konstruktor, událost atd.

(Zděděno od MemberInfo)
MetadataToken

Získá hodnotu, která identifikuje prvek metadat.

(Zděděno od MemberInfo)
MethodHandle

Získá popisovač k reprezentaci interních metadat metody.

(Zděděno od MethodBase)
MethodImplementationFlags

MethodImplAttributes Získá příznaky, které určují atributy implementace metody.

(Zděděno od MethodBase)
Module

Získá modul, ve kterém je definován typ, který deklaruje člen reprezentovaný aktuální MemberInfo .

(Zděděno od MemberInfo)
Name

Získá název aktuálního člena.

(Zděděno od MemberInfo)
ReflectedType

Získá objekt třídy, který byl použit k získání této instance .MemberInfo

(Zděděno od MemberInfo)

Metody

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.

(Zděděno od MethodBase)
GetCustomAttributes(Boolean)

Při přepsání v odvozené třídě vrátí pole všech vlastních atributů použitých pro tento člen.

(Zděděno od MemberInfo)
GetCustomAttributes(Type, Boolean)

Při přepsání v odvozené třídě vrátí pole vlastních atributů použitých u tohoto člena a identifikovaných pomocí Type.

(Zděděno od MemberInfo)
GetCustomAttributesData()

Vrátí seznam CustomAttributeData objektů představujících data o atributech, které byly použity na cílového člena.

(Zděděno od MemberInfo)
GetGenericArguments()

Vrátí pole Type objektů, které představují argumenty typu obecné metody nebo parametry typu definice obecné metody.

(Zděděno od MethodBase)
GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

(Zděděno od MethodBase)
GetMethodBody()

Při přepsání v odvozené třídě získá MethodBody objekt, který poskytuje přístup k datovému proudu MSIL, místní proměnné a výjimky pro aktuální metodu.

(Zděděno od MethodBase)
GetMethodImplementationFlags()

Při přepsání v odvozené třídě vrátí MethodImplAttributes příznaky.

(Zděděno od MethodBase)
GetParameters()

Při přepsání v odvozené třídě získá parametry zadané metody nebo konstruktoru.

(Zděděno od MethodBase)
GetType()

Zjistí atributy konstruktoru třídy a poskytuje přístup k metadatům konstruktoru.

GetType()

Zjistí atributy konstruktoru třídy a poskytuje přístup k metadatům konstruktoru.

(Zděděno od MethodBase)
HasSameMetadataDefinitionAs(MemberInfo)

Zjistí atributy konstruktoru třídy a poskytuje přístup k metadatům konstruktoru.

(Zděděno od MemberInfo)
Invoke(BindingFlags, Binder, Object[], CultureInfo)

Při implementaci v odvozené třídě vyvolá konstruktor reflektovaný tímto ConstructorInfo se zadanými argumenty v rámci omezení zadané Bindertřídy .

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

Při přepsání v odvozené třídě vyvolá reflektované metody nebo konstruktoru s danými parametry.

(Zděděno od MethodBase)
Invoke(Object, Object[])

Vyvolá metodu nebo konstruktor reprezentovaný aktuální instancí pomocí zadaných parametrů.

(Zděděno od MethodBase)
Invoke(Object[])

Vyvolá konstruktor, který se odráží v instanci, která má zadané parametry a poskytuje výchozí hodnoty pro parametry, které nejsou běžně používány.

IsDefined(Type, Boolean)

Při přepsání v odvozené třídě, označuje, zda jeden nebo více atributů zadaného typu nebo jeho odvozených typů je použito na tento člen.

(Zděděno od MemberInfo)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Operátory

Equality(ConstructorInfo, ConstructorInfo)

Určuje, zda jsou dva ConstructorInfo objekty stejné.

Inequality(ConstructorInfo, ConstructorInfo)

Určuje, zda se dva ConstructorInfo objekty nerovnají.

Explicitní implementace rozhraní

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

_ConstructorInfo.GetType()

Type Získá objekt představující ConstructorInfo typ.

_ConstructorInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

_ConstructorInfo.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

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

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

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

Poskytuje objekty COM s přístupem nezávislým na Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) verzi k metodě.

_ConstructorInfo.Invoke_3(Object, Object[])

Poskytuje objekty COM s přístupem nezávislým na Invoke(Object, Object[]) verzi k metodě.

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

Poskytuje objekty COM s přístupem nezávislým na Invoke(BindingFlags, Binder, Object[], CultureInfo) verzi k metodě.

_ConstructorInfo.Invoke_5(Object[])

Poskytuje objekty COM s přístupem nezávislým na Invoke(Object[]) verzi k metodě.

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

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od MemberInfo)
_MemberInfo.GetType()

Type Získá objekt představující MemberInfo třídu .

(Zděděno od MemberInfo)
_MemberInfo.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od MemberInfo)
_MemberInfo.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od MemberInfo)
_MemberInfo.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od MemberInfo)
_MethodBase.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání.

(Zděděno od MethodBase)
_MethodBase.GetType()

Popis tohoto člena najdete v tématu GetType().

(Zděděno od MethodBase)
_MethodBase.GetTypeInfo(UInt32, UInt32, IntPtr)

Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní.

(Zděděno od MethodBase)
_MethodBase.GetTypeInfoCount(UInt32)

Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1).

(Zděděno od MethodBase)
_MethodBase.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Poskytuje přístup k vlastnostem a metodám vystaveným objektem.

(Zděděno od MethodBase)
_MethodBase.IsAbstract

Popis tohoto člena najdete v tématu IsAbstract.

(Zděděno od MethodBase)
_MethodBase.IsAssembly

Popis tohoto člena najdete v tématu IsAssembly.

(Zděděno od MethodBase)
_MethodBase.IsConstructor

Popis tohoto člena najdete v tématu IsConstructor.

(Zděděno od MethodBase)
_MethodBase.IsFamily

Popis tohoto člena najdete v tématu IsFamily.

(Zděděno od MethodBase)
_MethodBase.IsFamilyAndAssembly

Popis tohoto člena najdete v tématu IsFamilyAndAssembly.

(Zděděno od MethodBase)
_MethodBase.IsFamilyOrAssembly

Popis tohoto člena najdete v tématu IsFamilyOrAssembly.

(Zděděno od MethodBase)
_MethodBase.IsFinal

Popis tohoto člena najdete v tématu IsFinal.

(Zděděno od MethodBase)
_MethodBase.IsHideBySig

Popis tohoto člena najdete v tématu IsHideBySig.

(Zděděno od MethodBase)
_MethodBase.IsPrivate

Popis tohoto člena najdete v tématu IsPrivate.

(Zděděno od MethodBase)
_MethodBase.IsPublic

Popis tohoto člena najdete v tématu IsPublic.

(Zděděno od MethodBase)
_MethodBase.IsSpecialName

Popis tohoto člena najdete v tématu IsSpecialName.

(Zděděno od MethodBase)
_MethodBase.IsStatic

Popis tohoto člena najdete v tématu IsStatic.

(Zděděno od MethodBase)
_MethodBase.IsVirtual

Popis tohoto člena najdete v tématu IsVirtual.

(Zděděno od MethodBase)
ICustomAttributeProvider.GetCustomAttributes(Boolean)

Vrátí pole všech vlastních atributů definovaných v tomto členu, s výjimkou pojmenovaných atributů, nebo prázdné pole, pokud neexistují žádné vlastní atributy.

(Zděděno od MemberInfo)
ICustomAttributeProvider.GetCustomAttributes(Type, Boolean)

Vrátí pole vlastních atributů definovaných v tomto členu, identifikované typem nebo prázdné pole, pokud neexistují žádné vlastní atributy tohoto typu.

(Zděděno od MemberInfo)
ICustomAttributeProvider.IsDefined(Type, Boolean)

Určuje, zda je u tohoto člena attributeType definována jedna nebo více instancí.

(Zděděno od MemberInfo)

Metody rozšíření

GetCustomAttribute(MemberInfo, Type)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen.

GetCustomAttribute(MemberInfo, Type, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen, a volitelně zkontroluje předky tohoto člena.

GetCustomAttribute<T>(MemberInfo)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen.

GetCustomAttribute<T>(MemberInfo, Boolean)

Načte vlastní atribut zadaného typu, který je použit na zadaný člen, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes(MemberInfo)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Boolean)

Načte kolekci vlastních atributů, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes(MemberInfo, Type)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes(MemberInfo, Type, Boolean)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

GetCustomAttributes<T>(MemberInfo)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena.

GetCustomAttributes<T>(MemberInfo, Boolean)

Načte kolekci vlastních atributů zadaného typu, které jsou použity na zadaného člena, a volitelně zkontroluje předky tohoto člena.

IsDefined(MemberInfo, Type)

Určuje, zda jsou na zadaný člen použity vlastní atributy zadaného typu.

IsDefined(MemberInfo, Type, Boolean)

Určuje, zda vlastní atributy zadaného typu jsou použity na zadaného člena a volitelně použity na jeho nadřazené položky.

GetMetadataToken(MemberInfo)

Získá token metadat pro daný člen, pokud je k dispozici.

HasMetadataToken(MemberInfo)

Vrátí hodnotu, která označuje, zda je token metadat k dispozici pro zadaného člena.

Platí pro

Bezpečný přístup z více vláken

Tento typ je bezpečný pro přístup z více vláken.