本文整理汇总了C#中JSchemaReader.ReadInlineSchema方法的典型用法代码示例。如果您正苦于以下问题:C# JSchemaReader.ReadInlineSchema方法的具体用法?C# JSchemaReader.ReadInlineSchema怎么用?C# JSchemaReader.ReadInlineSchema使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类JSchemaReader
的用法示例。
在下文中一共展示了JSchemaReader.ReadInlineSchema方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FindSchema
//.........这里部分代码省略.........
IList l = (IList)current;
int index;
if (int.TryParse(unescapedPart, NumberStyles.None, CultureInfo.InvariantCulture, out index))
{
if (index > l.Count || index < 0)
current = null;
else
current = l[index];
}
else
{
current = null;
}
}
else
{
break;
}
}
if (current is JToken)
{
JToken t = (JToken)current;
JSchemaAnnotation annotation = t.Annotation<JSchemaAnnotation>();
if (annotation != null)
{
setSchema(annotation.Schema);
resolvedSchema = true;
}
else
{
schemaReader.ReadInlineSchema(setSchema, t);
resolvedSchema = true;
}
}
else
{
JSchema s = current as JSchema;
if (s != null)
{
setSchema(s);
resolvedSchema = true;
// schema is a reference schema and needs to be resolved
if (s.Reference != null)
schemaReader.AddDeferedSchema(setSchema, s);
}
else
{
resolvedSchema = false;
}
}
schemaReader._schemaStack.Clear();
}
else
{
JSchemaDiscovery discovery = new JSchemaDiscovery();
discovery.Discover(schema, null);
Uri resolvedReference = ResolveSchemaId(rootSchemaId, reference);
// default Uri comparison ignores fragments
KnownSchema knownSchema = discovery.KnownSchemas.SingleOrDefault(s => s.Id.OriginalString.TrimEnd('#') == resolvedReference.OriginalString.TrimEnd('#'));