C# 如何在C中动态生成类#

C# 如何在C中动态生成类#,c#,visual-studio-2017,C#,Visual Studio 2017,我有名为Elements的json数据,它有一个字段属性。现在我想在类中添加这些属性,该类需要动态生成 下面是我的json数据的结构 "Elements": [ { "$type": "PCL.DatePicker, PCL", "Type": "DatePicker", "SelectedDate": "2017-02-23T00:00:00", "LabelText": "Date:",

我有名为Elements的json数据,它有一个字段属性。现在我想在类中添加这些属性,该类需要动态生成

下面是我的json数据的结构

"Elements": [
         {
          "$type": "PCL.DatePicker, PCL",
          "Type": "DatePicker",
          "SelectedDate": "2017-02-23T00:00:00",
          "LabelText": "Date:",
          "Property": "Date1",
          "Visibile": true
        },
        {
          "$type": "PCL.FormEntryField, PCL",
          "Type": "Entry",
          "Text": "",
          "LabelText": "Full Name:",
          "Property": "FullName",
          "Visibile": true
        },
        {
          "$type": "PCL.Picker, PCL",
          "Type": "Picker",
          "DefaultIndex": 0,
          "Values": [ "English", "Hindi", "French", "Chinese", "Arabi" ],
          "LabelText": "Language",
          "Property": "Language",
          "Visibile": true
        },
        {
          "$type": "PCL.FormSwitch, PCL",
          "Type": "Switch",
          "DefaultValue": true,
          "Value": false,
          "Text": null,
          "Property": "Happy",
          "LabelText": "Are You Happy?",
          "Visibile": true
        },
        {
          "$type": "PCL.TimePicker, PCL",
          "Type": "TimePicker",
          "SelectedTime": "12:30:00",
          "LabelText": "Time:",
          "Property": "TIme",
          "Visibile": true
        }
]

可以这样做吗?

您当然可以使用T4模板来读取JSON文件并写出c#类结构和属性

这是假设您将在设计时生成,类似于使用edmx文件生成实体的方式

有关T4模板的基础知识,请参阅下面的Microsoft资源


msdn.microsoft.com/en us/library/bb126445.aspx

那么您已经运行了一些C#代码,并且希望在运行时创建一个新类以放入单独的DLL中?这似乎有点像X Y'Y'me@MichaelRandall-我同意。我肯定在运行时生成并使用了类,但从未永久存储它们。有一个很好的理由这么做,因为以前的决定不可能改变,但我还是不想改变。了解这里需要解决的实际问题是非常有用的,因为一个经过充分分析和研究以得出需要此解决方案的结论的问题,似乎不太可能会留下这样的问题。@MichaelRandall没有证据就不是问题的证据Absence@MickyD 对于美国东部标准时间下午3:31,这是一个深刻的陈述,但是你得到了点扫描。请解释我如何使用T4模板生成C#类结构,并且proerties解释了基本原理。