次のシナリオを検討してください。フィールドのセットとその種類を表すクラスがあります。さらに、事前定義値を持つフィールドオブジェクトのリストを所有しています。
public class Field { public string FieldName; public string FieldType; }
目的は、リスト内の各フィールドに対応するプロパティを持つDynamicClassという名前のダイナミッククラスを作成することです。 System.Reflection.emit
{ "EmployeeID", "int" }, { "EmployeeName", "string" }, { "Designation", "string" }を使用した🎜>
ソリューションこの動的クラス作成を達成するには、System.Reflection.emit Namespaceの機能を活用できます。名前空間にはある程度の習熟度が必要ですが、実行時にクラスを生成するための堅牢なメカニズムを提供します。
class DynamicClass { int EmployeeID, string EmployeeName, string Designation }
最初に、ファンデーションとして機能するタイプバイユルダーオブジェクトを作成する必要があります。あなたのダイナミッククラスのために。これには、タイプの署名、アセンブリ、およびモジュールの定義が含まれます。 Anschließendリスト内の各フィールドについて、ダイナミッククラス内のプロパティを生成する必要があります。
の例コード
以上がSystem.Reflection.emitを使用して実行時にC#クラスを動的に生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。