我们使用Json。Net模式,并需要多个生成提供程序。但是,当我们指定多个生成提供程序时,似乎只使用列表中的最后一个。
这是一个只使用ObjectNotNullableGenerationProvider而忽略StringEnumGeneration的例子。
任何例子的例子的多个提供者或帮助为什么这是不工作的,将不胜感激。
的例子:
var generator = new JSchemaGenerator
{
SchemaReferenceHandling = SchemaReferenceHandling.None,
DefaultRequired = Required.Default,
};
generator.GenerationProviders.Add(new StringEnumGenerationProvider());
generator.GenerationProviders.Add(new ObjectNotNullableGenerationProvider());
var jsonSchema = generator.Generate(typeof(SchemaTest));
JSchemaGenerationProvider
上的GetSchema方法返回一个新模式。只调用第一个匹配的模式生成提供程序,并使用它的模式。
你能做的就是从StringEnumGenerationProvider
(这里可用)获取源代码,并拥有你自己的版本,要么继承ObjectNotNullableGenerationProvider
,要么在内部重用其逻辑。