netstandard.dll実行時のクラスの新しいインスタンスを定義し、作成します。つのコード例が含まれています。最初の例では、フィールド、コンストラクター、プロパティ、およびメソッドを使用して動的な型を作成する方法を示します。2番目の例では、ユーザー入力から動的にメソッドを構築します。one次のコード例は、1つのモジュールで動的アセンブリを定義する方法を示しています。MyDynamicType、プライベートフィールドを取得および設定するプロパティ、プライベートフィールドを初期化するコンストラクター、およびユーザーが指定した数値をプライベートフィールドの値で乗算し、結果を返すメソッドが含まれています。フィールドは、アセンブリの作成時に指定します。アセンブリコードはすぐに使用されます。逆アセンブラー)を使用して検査したり、別のプログラムで使用したりできるように、ディスクにも保存されます。two次のコードサンプルは、TypeBuilderを使用して動的な型を構築する方法を示しています。ランタイムで動的クラスの作成を制御するために使用されるルートクラスです。これには、クラスの定義、メソッドとフィールドの追加、およびモジュール内でのクラスの作成に使用される一連のルーチンが用意されています。メソッドを呼び出します。object.リフレクション出力には、型を定義するための次のオプションが用意されています。types:指定された名前を持つクラスまたはインターフェイスを定義します。name.指定された名前と属性を持つクラスまたはインターフェイスを定義します。attributes.指定された名前、属性、および基本クラスを使用してクラスを定義します。class.指定された名前、属性、基本クラス、およびクラスが実装するインターフェイスのセットを使用して、クラスを定義します。implements.指定された名前、属性、基本クラス、およびパッキングサイズを使用してクラスを定義します。size.指定された名前、属性、基本クラス、およびクラスサイズ全体を持つクラスを定義します。whole.指定された名前、属性、基本クラス、パッキングサイズ、およびクラスサイズ全体を使用してクラスを定義します。メソッドを使用します。メソッドを呼び出す必要があります。CreateTypeは、型の作成を完了します。メソッドを使用して型のメンバーを呼び出すことができます。CreateTypeが呼び出された後に、型の実装を変更するメソッドを呼び出すと、エラーになります。呼び出し元が型に新しいメンバーを追加しようとすると、共通言語ランタイムは例外をスローします。メソッドを使用して作成されます。オブジェクトを返します。メソッドのいずれかを呼び出すことによって定義されます。列挙体を使用して、作成する型の特性をさらに指定します。属性を使用して指定します。属性を使用して指定されます。attribute.型の可視性を決定する属性がいくつかあります。列挙体の説明を参照してください。指定されている場合、クラスローダーは、メタデータから読み取られる順序でフィールドをレイアウトします。クラスローダーは、指定されたパッキングサイズを考慮しますが、指定されたフィールドオフセットは無視します。メタデータには、フィールド定義の出力順序が保持されます。マージ全体でも、メタデータはフィールド定義の順序を変更しません。指定されている場合にのみ、指定されたフィールドオフセットを受け入れます。Issuesリフレクション出力は、インターフェイスを実装する非抽象クラスが、インターフェイスで宣言されているすべてのメソッドを実装しているかどうかを検証しません。クラスがインターフェイスで宣言されているすべてのメソッドを実装していない場合、ランタイムはクラスを読み込みません。クラスで完全には実装されていません。例外がスローされます。使用して作成された型を取得し、取得した型を反映します。type.フィールドUnspecifiedTypeSizeこの型の合計サイズが指定されていないことを表します。specified.プロパティAssemblyこの型の定義を含む動的アセンブリを取得します。definition.AssemblyQualifiedNameアセンブリの表示名で修飾されたこの型の完全名を返します。assembly.AttributesBaseTypeこの型の基本データ型を取得します。type.ContainsGenericParametersCustomAttributesこのメンバーのカスタム属性を含むコレクションを取得します。MemberInfo)DeclaredConstructors現在の型によって宣言されたコンストラクターのコレクションを取得します。TypeInfo)DeclaredEvents現在の型によって定義されたイベントのコレクションを取得します。TypeInfo)DeclaredFields現在の型によって定義されたフィールドのコレクションを取得します。TypeInfo)DeclaredMembers現在の型によって定義されたメンバーのコレクションを取得します。TypeInfo)DeclaredMethods現在の型によって定義されたメソッドのコレクションを取得します。TypeInfo)DeclaredNestedTypes現在の型によって定義された入れ子の型のコレクションを取得します。TypeInfo)DeclaredProperties現在の型によって定義されたプロパティのコレクションを取得します。TypeInfo)DeclaringMethod現在のジェネリック型パラメーターを宣言したメソッドを取得します。parameter.DeclaringTypeこの型を宣言した型を返します。type.FullNameこの型の完全なパスを取得します。type.GenericParameterAttributes現在のジェネリック型パラメーターの共変性および特殊な制約を示す値を取得します。リスト内の型パラメーターの位置を取得します。parameter.GenericTypeArgumentsGenericTypeParameters現在のインスタンスのジェネリック型パラメーターの配列を取得します。配列、ポインター、または参照渡しかどうかを示す値を取得します。Type)ImplementedInterfaces現在の型で実装されたインターフェイスのコレクションを取得します。抽象型で、オーバーライドする必要があるかどうかを示す値を取得します。選択されているかどうかを示す値を取得します。Type)IsArray型が配列かどうかを示す値を返します。選択されているかどうかを示す値を取得します。Type)IsAutoLayout現在の型のフィールドが、共通言語ランタイムによって自動的に配置されているかどうかを示す値を取得します。参照渡しかどうかを示す値を取得します。保持されているアセンブリの一部であるかどうかを示す値を取得します。オブジェクトかどうかを示す値を取得します。Type)IsConstructedGenericTypeこのオブジェクトが構築ジェネリック型かどうかを示す値を取得します。コンテキスト内で管理できるかどうかを示す値を取得します。Type)IsEnumIsExplicitLayout現在の型のフィールドが、明示的に指定したオフセット位置に配置されているかどうかを示す値を取得します。メソッドの定義の型パラメーターを表すかどうかを示す値を取得します。Type)IsGenericParameter現在の型がジェネリック型パラメーターかどうかを示す値を取得します。parameter.IsGenericType現在の型がジェネリック型かどうかを示す値を取得します。他のジェネリック型を構築できるジェネリック型の定義を表しているかどうかを示す値を取得します。ジェネリック型の定義の型パラメーターを表すかどうかを示す値を取得します。ことを示す値を取得します。Type)IsLayoutSequential現在の型のフィールドが、定義済みまたはメタデータに対して出力された順序で、連続して配置されているかどうかを示す値を取得します。参照渡しでマーシャリングされるかどうかを示す値を取得します。オブジェクトが、別の型の定義内に入れ子になっている定義で定義された型を表しているかどうかを示す値を取得します。入れ子になっていて、それ自体が属するアセンブリ内でだけ参照可能かどうかを示す値を取得します。入れ子になっていて、それ自体が属するファミリとアセンブリの両方に属しているクラスだけから参照可能かどうかを示す値を取得します。入れ子になっていて、それ自体が属するファミリ内でだけ参照可能かどうかを示す値を取得します。入れ子になっていて、それ自体が属するファミリまたはアセンブリのいずれかに属しているクラスだけから参照可能かどうかを示す値を取得します。入れ子になっていて、プライベートとして宣言されているかどうかを示す値を取得します。Type)IsNestedPublicクラスが入れ子になっていて、パブリックとして宣言されているかどうかを示す値を取得します。パブリックとして宣言されていないかどうかを示す値を取得します。ポインターかどうかを示す値を取得します。パブリックとして宣言されているかどうかを示す値を取得します。して宣言されているかどうかを示す値を取得します。クリティカルであり、重要な操作を実行できるかどうかを示す値を取得します。クリティカルであり、重要な操作を実行でき、透過的なコードからアクセスできるかどうかを示す値を取得します。code.IsSecurityTransparent現在の型が透過的であり、重要な操作を実行できないかどうかを示す値を取得します。operations.IsSerializableIsSignatureType型が署名型かどうかを示す値を取得します。Type)IsSpecialName型が特別な処理を必要とする名前を持っているかどうかを示す値を取得します。選択されているかどうかを示す値を取得します。値型かどうかを示す値を取得します。アセンブリの外側のコードからアクセスできるかどうかを示す値を取得します。Type)MetadataTokenメタデータ要素を識別する値を取得します。MemberInfo)Moduleこの型定義を含む動的モジュールを取得します。definition.Nameこの型の名前を取得します。定義されている名前空間を取得します。type.ReflectedTypeこの型を取得するために使用された型を返します。type.Size型の合計サイズを取得します。Type)TypeHandle動的モジュールではサポートされていません。modules.TypeInitializer型の初期化子を取得します。Type)TypeTokenこの型の型トークンを返します。基になるシステム型を返します。PermissionSet)この型に宣言セキュリティを追加します。type.AddInterfaceImplementation(Type)この型が実装するインターフェイスを追加します。オブジェクトとして返します。オブジェクトを作成します。オブジェクトを取得します。Type[])型に、指定した属性およびシグネチャの新しいコンストラクターを追加します。Type[][])指定された属性、署名、およびカスタム修飾子で、型に新しいコンストラクターを追加します。modifiers.DefineDefaultConstructor(MethodAttributes)パラメーターなしのコンストラクターを定義します。ここで定義されたコンストラクターは、単に親のパラメーターなしのコンストラクターを呼び出します。Type)指定した名前、属性、イベント型の新しいイベントを型に追加します。FieldAttributes)指定した名前、属性、フィールド型の新しいフィールドを型に追加します。FieldAttributes)指定された名前、属性、フィールドの種類、およびカスタム修飾子を持つ新しいフィールドを型に追加します。オブジェクトの配列を返します。フィールドを定義します。MethodAttributes)新しいメソッドを、指定された名前とメソッドの属性を持つ型に追加します。CallingConventions)新しいメソッドを、指定された名前、メソッドの属性、および呼び出し規約を持つ型に追加します。Type[])指定された名前、メソッドの属性、呼び出し規則、およびメソッドのシグネチャを持つ新しいメソッドを型に追加します。Type[][])新しいメソッドを、指定された名前、メソッドの属性、呼び出し規則、メソッドのシグニチャ、およびカスタム修飾子を持つ型に追加します。Type[])新しいメソッドを、指定された名前、メソッドの属性、およびメソッドのシグニチャを持つ型に追加します。実装する特定のメソッド本体を指定します。name.DefineNestedType(String)名前を指定された、入れ子にされた型を定義します。TypeAttributes)指定した名前と属性を持つ入れ子にされた型を定義します。Type)入れ子にされた型、指定された名前、属性、および拡張する型を定義します。Int32)入れ子にされた型、指定された名前、属性、型の合計サイズ、および拡張する型を定義します。Int32)入れ子にされた型、指定された名前、属性、サイズ、および拡張する型を定義します。Type[])指定された名前、属性、拡張する基本型、および実装するインターフェイスを指定して、ネスト型を定義します。