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 メソッドによって返される に対ConstructorInfo
して をTypeGetConstructors呼び出Invokeすことによって作成されます。
注意
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 |
パブリック メソッドかどうかを示す値を取得します。 (継承元 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) |
派生クラスでオーバーライドされた場合、このメンバーに、指定された型の属性またはその派生型の属性が 1 つ以上適用されているかどうかを示します。 (継承元 MemberInfo) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
演算子
Equality(ConstructorInfo, ConstructorInfo) |
2 つの ConstructorInfo オブジェクトが等しいかどうかを示します。 |
Inequality(ConstructorInfo, ConstructorInfo) |
2 つの 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