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

时间:2018-03-01 04:56:38

标签: c# visual-studio-2017

我有json数据,其名称为Elements,它有一个字段Property.Now我想在类中添加这些属性,并且该类需要动态生成。

这是我的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
        }
]

是否可以这样做?

1 个答案:

答案 0 :(得分:1)

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

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

请参阅下面的Microsoft资源,了解T4模板的基础知识。

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