TypeBuilder.DefineDefaultConstructor メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > TypeBuilder.DefineDefaultConstructor メソッドの意味・解説 

TypeBuilder.DefineDefaultConstructor メソッド

既定コンストラクタ定義します。ここで定義されコンストラクタは、親の既定コンストラクタ呼び出すだけです。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Function DefineDefaultConstructor (
 _
    attributes As MethodAttributes _
) As ConstructorBuilder
Dim instance As TypeBuilder
Dim attributes As MethodAttributes
Dim returnValue As ConstructorBuilder

returnValue = instance.DefineDefaultConstructor(attributes)
[ComVisibleAttribute(true)] 
public ConstructorBuilder DefineDefaultConstructor (
    MethodAttributes attributes
)
[ComVisibleAttribute(true)] 
public:
ConstructorBuilder^ DefineDefaultConstructor (
    MethodAttributes attributes
)
/** @attribute ComVisibleAttribute(true) */ 
public ConstructorBuilder DefineDefaultConstructor (
    MethodAttributes attributes
)
ComVisibleAttribute(true) 
public function DefineDefaultConstructor (
    attributes : MethodAttributes
) : ConstructorBuilder

パラメータ

attributes

コンストラクタ適用する属性を表す MethodAttributes オブジェクト

戻り値
コンストラクタ返します

例外例外
例外種類条件

NotSupportedException

親の型 (基本型) に既定コンストラクタがありません。

InvalidOperationException

この型は、CreateType を使用して既に作成されています。

または

現在の動的型では、IsGenericType プロパティtrue ですが、IsGenericTypeDefinition プロパティfalse です。

解説解説

既定コンストラクタ自動的に定義されるため、このメソッド呼び出す必要があるのは、既定コンストラクタ属性を PrivateScope、Public、HideBySig、SpecialName、および RTSpecialName 以外の属性設定する必要がある場合だけです。

使用例使用例

次のコード例は、DefineConstructor使用してコンストラクタ固有のシグネチャ属性動的なに対して設定し、それに対応する MSIL書き込みを行うための ConstructorBuilder を返す方法示してます。

' Define the constructor.
Dim constructorArgs As Type() = {GetType(String)}
Dim myConstructorBuilder As ConstructorBuilder
 = helloWorldTypeBuilder.DefineConstructor _
                     (MethodAttributes.Public, CallingConventions.Standard, constructorArgs)
' Generate IL for the method.The constructor stores its argument in
 the private field.
Dim myConstructorIL As ILGenerator = myConstructorBuilder.GetILGenerator()
myConstructorIL.Emit(OpCodes.Ldarg_0)
myConstructorIL.Emit(OpCodes.Ldarg_1)
myConstructorIL.Emit(OpCodes.Stfld, myGreetingField)
myConstructorIL.Emit(OpCodes.Ret)
// Define the constructor.
Type[] constructorArgs = { typeof(String) };
ConstructorBuilder myConstructorBuilder = 
   helloWorldTypeBuilder.DefineConstructor(MethodAttributes.Public, 
                      CallingConventions.Standard, constructorArgs);
// Generate IL for the method.The constructor stores its argument in
 the private field.
ILGenerator myConstructorIL = myConstructorBuilder.GetILGenerator();
myConstructorIL.Emit(OpCodes.Ldarg_0);
myConstructorIL.Emit(OpCodes.Ldarg_1);
myConstructorIL.Emit(OpCodes.Stfld, myGreetingField);
myConstructorIL.Emit(OpCodes.Ret);
// Define the constructor.
array<Type^>^ constructorArgs = {String::typeid};
ConstructorBuilder^ myConstructorBuilder =
   helloWorldTypeBuilder->DefineConstructor( MethodAttributes::Public,
      CallingConventions::Standard, constructorArgs );
// Generate IL for the method.The constructor stores its argument in
 the private field.
ILGenerator^ myConstructorIL = myConstructorBuilder->GetILGenerator();
myConstructorIL->Emit( OpCodes::Ldarg_0 );
myConstructorIL->Emit( OpCodes::Ldarg_1 );
myConstructorIL->Emit( OpCodes::Stfld, myGreetingField );
myConstructorIL->Emit( OpCodes::Ret );
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
TypeBuilder クラス
TypeBuilder メンバ
System.Reflection.Emit 名前空間


このページでは「.NET Framework クラス ライブラリ リファレンス」からTypeBuilder.DefineDefaultConstructor メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からTypeBuilder.DefineDefaultConstructor メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からTypeBuilder.DefineDefaultConstructor メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

TypeBuilder.DefineDefaultConstructor メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



TypeBuilder.DefineDefaultConstructor メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS