编辑源代码并在运行时在c#

时间:2016-03-23 05:58:11

标签: c# json jsonschema

基本上我想在运行时从Json字符串中提取JsonSchema(不能使用Tools),找不到库来执行此操作。 其他方法是首先将JSON转换为Class(找到一个开源代码),然后使用JSON.NET创建JsonSchema,如下所示。

var generator = new JSchemaGenerator();
JSchema schema = generator.Generate(typeof(Rootobject));

但是在编译时不知道Rootobject类,所以我得到编译时错误。有没有其他方法可以做到这一点?请帮忙

1 个答案:

答案 0 :(得分:0)

我能想到的最好的方法是使用你的代码生成一个类的源代码,使用CodeDOM编译它,然后加载生成的程序集并为该对象生成Schema。

有关使用CodeDOM在运行时构建程序集的信息,请访问MSDN:Generating and Compiling Source Code from a CodeDOM graph(它是您感兴趣的第二个标题)。

有关如何加载程序集的信息,请访问MSDN:How to: Load Assemblies into an Application Domain

希望有助于解决您的问题。