ConstructorInfo Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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 |
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 |
IsVirtual |
Získá hodnotu označující, zda je |
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 . |
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 |
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 |
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.