ConstructorInfo 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
클래스 생성자의 특성을 검색하고 생성자 메타데이터에 액세스할 수 있도록 합니다.
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
- 상속
- 파생
- 특성
- 구현
예제
다음 예제에서는 및 BindingFlags 를 GetConstructor 사용하여 ConstructorInfo
지정된 검색 조건과 일치하는 생성자를 찾습니다.
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
설명
ConstructorInfo
는 생성자의 특성을 검색하고 생성자를 호출하는 데 사용됩니다. 개체는 개체의 또는 GetConstructor 메서드에서 반환된 에서 GetConstructors 를 호출 InvokeConstructorInfo
하여 만듭니다Type.
참고
ConstructorInfo는 제네릭 메서드를 검사하는 데 사용할 수 있는 와 같은 IsGenericMethod여러 멤버에서 MethodBase 상속됩니다. .NET Framework 버전 2.0 생성자는 제네릭일 수 없으므로 이러한 멤버는 또는 null
를 반환 false
합니다.
구현자 참고
에서 ConstructorInfo
상속하는 경우 다음 멤버 오버로드 Invoke(BindingFlags, Binder, Object[], CultureInfo)를 재정의해야 합니다.
생성자
ConstructorInfo() |
ConstructorInfo 클래스의 새 인스턴스를 초기화합니다. |
필드
ConstructorName |
클래스 생성자 메서드가 메타데이터에 저장되면 해당 메서드의 이름을 나타냅니다. 이 이름은 항상 ".ctor"입니다. 이 필드는 읽기 전용입니다. |
TypeConstructorName |
메타데이터에 저장된 형식 생성자 메서드의 이름을 나타냅니다. 이 이름은 항상 ".cctor"입니다. 이 속성은 읽기 전용입니다. |
속성
Attributes |
이 메서드와 관련된 특성을 가져옵니다. (다음에서 상속됨 MethodBase) |
CallingConvention |
이 메서드에 대한 호출 규칙을 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
ContainsGenericParameters |
제네릭 메서드에 할당되지 않은 제네릭 형식 매개 변수가 포함되어 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
CustomAttributes |
이 멤버의 사용자 지정 특성을 포함하는 컬렉션을 가져옵니다. (다음에서 상속됨 MemberInfo) |
DeclaringType |
이 멤버를 선언하는 클래스를 가져옵니다. (다음에서 상속됨 MemberInfo) |
IsAbstract |
이 메서드가 추상 메서드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsAssembly |
Assembly에서 이 메서드나 생성자의 잠재적 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 메서드나 생성자는 같은 어셈블리의 다른 형식에만 표시되고 어셈블리 외부의 파생 형식에는 표시되지 않습니다. (다음에서 상속됨 MethodBase) |
IsCollectible |
이 MemberInfo 개체가 수집 가능한 AssemblyLoadContext에 보관된 어셈블리의 일부인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
IsConstructedGenericMethod |
클래스 생성자의 특성을 검색하고 생성자 메타데이터에 액세스할 수 있도록 합니다. (다음에서 상속됨 MethodBase) |
IsConstructor |
메서드가 생성자인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsFamily |
Family에서 이 메서드나 생성자의 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 메서드나 생성자는 해당 클래스 및 파생 클래스에만 표시됩니다. (다음에서 상속됨 MethodBase) |
IsFamilyAndAssembly |
FamANDAssem에서 이 메서드나 생성자의 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 메서드나 생성자는 같은 어셈블리에 있는 경우에만 파생 클래스에서 호출할 수 있습니다. (다음에서 상속됨 MethodBase) |
IsFamilyOrAssembly |
FamORAssem에서 이 메서드나 생성자의 잠재적 표시 유형을 설명하는지 여부를 나타내는 값을 가져옵니다. 즉, 이 메서드나 생성자는 파생 클래스(있는 경우) 및 같은 어셈블리의 클래스에서 호출할 수 있습니다. (다음에서 상속됨 MethodBase) |
IsFinal |
이 메서드가 |
IsGenericMethod |
메서드가 제네릭 메서드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsGenericMethodDefinition |
메서드가 제네릭 메서드 정의인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsHideBySig |
동일한 시그니처가 있는 동일한 종류의 멤버만을 파생 클래스에서 숨길 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsPrivate |
이 멤버가 프라이빗인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsPublic |
이 메서드가 public 메서드인지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsSecurityCritical |
현재 메서드나 생성자가 현재 신뢰 수준에서 보안에 중요한 형식이거나 보안 안전에 중요한 형식이어서 중요한 작업을 수행할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsSecuritySafeCritical |
현재 메서드나 생성자가 현재 신뢰 수준에서 보안 안전에 중요한 형식인지 즉, 중요한 작업을 수행할 수 있고 투명 코드로 액세스할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsSecurityTransparent |
현재 메서드나 생성자가 현재 신뢰 수준에서 투명하여 중요한 작업을 수행할 수 없는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsSpecialName |
이 메서드의 이름이 특수한지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 MethodBase) |
IsStatic |
메서드가 |
IsVirtual |
메서드가 |
MemberType |
이 멤버가 생성자임을 나타내는 MemberTypes 값을 가져옵니다. |
MemberType |
파생 클래스에서 재정의될 경우 멤버의 형식(메서드, 생성자, 이벤트 등)을 나타내는 MemberTypes 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
MetadataToken |
메타데이터 요소를 식별하는 값을 가져옵니다. (다음에서 상속됨 MemberInfo) |
MethodHandle |
메서드의 내부 메타데이터 표현에 대한 핸들을 가져옵니다. (다음에서 상속됨 MethodBase) |
MethodImplementationFlags |
메서드 구현의 특성을 지정하는 MethodImplAttributes 플래그를 가져옵니다. (다음에서 상속됨 MethodBase) |
Module |
현재 MemberInfo가 나타내는 멤버를 선언하는 형식이 정의된 모듈을 가져옵니다. (다음에서 상속됨 MemberInfo) |
Name |
현재 멤버의 이름을 가져옵니다. (다음에서 상속됨 MemberInfo) |
ReflectedType |
|
메서드
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. |
Equals(Object) |
이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다. (다음에서 상속됨 MethodBase) |
GetCustomAttributes(Boolean) |
파생 클래스에서 재정의되는 경우 이 멤버에 적용된 모든 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributes(Type, Boolean) |
파생된 클래스에서 재정의하는 경우 이 멤버에 적용되고 Type으로 식별되는 사용자 지정 특성의 배열을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetCustomAttributesData() |
대상 멤버에 적용된 특성에 대한 데이터를 나타내는 CustomAttributeData 개체의 목록을 반환합니다. (다음에서 상속됨 MemberInfo) |
GetGenericArguments() |
제네릭 메서드의 형식 인수나 제네릭 메서드 정의의 형식 매개 변수를 나타내는 Type 개체의 배열을 반환합니다. (다음에서 상속됨 MethodBase) |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. |
GetHashCode() |
이 인스턴스의 해시 코드를 반환합니다. (다음에서 상속됨 MethodBase) |
GetMethodBody() |
파생 클래스에서 재정의된 경우, 현재 메서드의 MSIL 스트림, 지역 변수 및 예외에 액세스할 수 있도록 하는 MethodBody 개체를 가져옵니다. (다음에서 상속됨 MethodBase) |
GetMethodImplementationFlags() |
파생 클래스에서 재정의할 때 MethodImplAttributes 플래그를 반환합니다. (다음에서 상속됨 MethodBase) |
GetParameters() |
파생 클래스에서 재정의되면 지정한 메서드나 생성자의 매개 변수를 가져옵니다. (다음에서 상속됨 MethodBase) |
GetType() |
클래스 생성자의 특성을 검색하고 생성자 메타데이터에 액세스할 수 있도록 합니다. |
GetType() |
클래스 생성자의 특성을 검색하고 생성자 메타데이터에 액세스할 수 있도록 합니다. (다음에서 상속됨 MethodBase) |
HasSameMetadataDefinitionAs(MemberInfo) |
클래스 생성자의 특성을 검색하고 생성자 메타데이터에 액세스할 수 있도록 합니다. (다음에서 상속됨 MemberInfo) |
Invoke(BindingFlags, Binder, Object[], CultureInfo) |
파생 클래스에 구현할 경우 지정된 |
Invoke(Object, BindingFlags, Binder, Object[], CultureInfo) |
파생 클래스에서 재정의된 경우, 지정된 매개 변수를 사용하여 리플렉션된 메서드나 생성자를 호출합니다. (다음에서 상속됨 MethodBase) |
Invoke(Object, Object[]) |
지정된 매개 변수를 사용하여 현재 인스턴스로 나타낸 메서드 또는 생성자를 호출합니다. (다음에서 상속됨 MethodBase) |
Invoke(Object[]) |
지정된 매개 변수가 있는 인스턴스에서 리플렉트된 생성자를 호출하고 일반적으로 사용되지 않는 매개 변수에 대해 기본값을 제공합니다. |
IsDefined(Type, Boolean) |
파생 클래스에서 재정의되는 경우 지정된 형식 또는 파생 형식의 특성이 하나 이상 이 멤버에 적용되는지 여부를 나타냅니다. (다음에서 상속됨 MemberInfo) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
연산자
Equality(ConstructorInfo, ConstructorInfo) |
두 ConstructorInfo 개체가 같은지를 나타냅니다. |
Inequality(ConstructorInfo, ConstructorInfo) |
두 ConstructorInfo 개체가 같지 않은지를 나타냅니다. |
명시적 인터페이스 구현
확장 메서드
GetCustomAttribute(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttribute<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성을 검색합니다. |
GetCustomAttribute<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo) |
지정된 멤버에 적용된 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Boolean) |
사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes(MemberInfo, Type) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
GetCustomAttributes<T>(MemberInfo) |
지정된 멤버에 적용된 지정된 형식의 사용자 지정 특성 컬렉션을 검색합니다. |
GetCustomAttributes<T>(MemberInfo, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되는 컬렉션을 검색하거나 선택적으로 해당 멤버의 상위 항목을 검사합니다. |
IsDefined(MemberInfo, Type) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지 여부를 나타냅니다. |
IsDefined(MemberInfo, Type, Boolean) |
지정된 형식의 사용자 지정 특성이 지정된 멤버에 적용되었는지, 또는 선택적으로 상위 항목에 적용되었는지 여부를 결정합니다. |
GetMetadataToken(MemberInfo) |
사용 가능한 경우 지정된 멤버의 메타데이터 토큰을 가져옵니다. |
HasMetadataToken(MemberInfo) |
지정된 멤버에 대해 메타데이터 토큰을 사용할 수 있는지를 나타내는 값을 반환합니다. |
적용 대상
스레드 보안
이 형식은 스레드로부터 안전합니다.
.NET