本文整理汇总了C#中Newtonsoft.Json.Schema.JsonSchemaNode.Combine方法的典型用法代码示例。如果您正苦于以下问题:C# JsonSchemaNode.Combine方法的具体用法?C# JsonSchemaNode.Combine怎么用?C# JsonSchemaNode.Combine使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Newtonsoft.Json.Schema.JsonSchemaNode
的用法示例。
在下文中一共展示了JsonSchemaNode.Combine方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddSchema
public JsonSchemaNode AddSchema(JsonSchemaNode existingNode, JsonSchema schema)
{
string id;
if (existingNode != null)
{
if (existingNode.Schemas.Contains(schema))
return existingNode;
id = JsonSchemaNode.GetId(Enumerable.Union<JsonSchema>((IEnumerable<JsonSchema>) existingNode.Schemas, (IEnumerable<JsonSchema>) new JsonSchema[1]
{
schema
}));
}
else
id = JsonSchemaNode.GetId((IEnumerable<JsonSchema>) new JsonSchema[1]
{
schema
});
if (this._nodes.Contains(id))
return this._nodes[id];
JsonSchemaNode jsonSchemaNode = existingNode != null ? existingNode.Combine(schema) : new JsonSchemaNode(schema);
this._nodes.Add(jsonSchemaNode);
this.AddProperties(schema.Properties, (IDictionary<string, JsonSchemaNode>) jsonSchemaNode.Properties);
this.AddProperties(schema.PatternProperties, (IDictionary<string, JsonSchemaNode>) jsonSchemaNode.PatternProperties);
if (schema.Items != null)
{
for (int index = 0; index < schema.Items.Count; ++index)
this.AddItem(jsonSchemaNode, index, schema.Items[index]);
}
if (schema.AdditionalProperties != null)
this.AddAdditionalProperties(jsonSchemaNode, schema.AdditionalProperties);
if (schema.Extends != null)
jsonSchemaNode = this.AddSchema(jsonSchemaNode, schema.Extends);
return jsonSchemaNode;
}
示例2: AddSchema
public JsonSchemaNode AddSchema(JsonSchemaNode existingNode, JsonSchema schema)
{
string newId;
if (existingNode != null)
{
if (existingNode.Schemas.Contains(schema))
{
return existingNode;
}
newId = JsonSchemaNode.GetId(existingNode.Schemas.Union(new[] { schema }));
}
else
{
newId = JsonSchemaNode.GetId(new[] { schema });
}
if (_nodes.Contains(newId))
{
return _nodes[newId];
}
JsonSchemaNode currentNode = (existingNode != null)
? existingNode.Combine(schema)
: new JsonSchemaNode(schema);
_nodes.Add(currentNode);
AddProperties(schema.Properties, currentNode.Properties);
AddProperties(schema.PatternProperties, currentNode.PatternProperties);
if (schema.Items != null)
{
for (int i = 0; i < schema.Items.Count; i++)
{
AddItem(currentNode, i, schema.Items[i]);
}
}
if (schema.AdditionalItems != null)
{
AddAdditionalItems(currentNode, schema.AdditionalItems);
}
if (schema.AdditionalProperties != null)
{
AddAdditionalProperties(currentNode, schema.AdditionalProperties);
}
if (schema.Extends != null)
{
foreach (JsonSchema jsonSchema in schema.Extends)
{
currentNode = AddSchema(currentNode, jsonSchema);
}
}
return currentNode;
}
示例3: AddSchema
public JsonSchemaNode AddSchema(JsonSchemaNode existingNode, JsonSchema schema)
{
string newId;
if (existingNode != null)
{
if (existingNode.Schemas.Contains(schema))
return existingNode;
newId = JsonSchemaNode.GetId(existingNode.Schemas.Union(new[] { schema }));
}
else
{
newId = JsonSchemaNode.GetId(new[] { schema });
}
if (_nodes.Contains(newId))
return _nodes[newId];
JsonSchemaNode currentNode = (existingNode != null)
? existingNode.Combine(schema)
: new JsonSchemaNode(schema);
_nodes.Add(currentNode);
if (schema.Properties != null)
{
foreach (KeyValuePair<string, JsonSchema> property in schema.Properties)
{
AddProperty(currentNode, property.Key, property.Value);
}
}
if (schema.Items != null)
{
for (int i = 0; i < schema.Items.Count; i++)
{
AddItem(currentNode, i, schema.Items[i]);
}
}
if (schema.AdditionalProperties != null)
AddAdditionalProperties(currentNode, schema.AdditionalProperties);
if (schema.Extends != null)
currentNode = AddSchema(currentNode, schema.Extends);
return currentNode;
}
示例4: AddSchema
// Token: 0x060009E5 RID: 2533
// RVA: 0x0003EBE8 File Offset: 0x0003CDE8
public JsonSchemaNode AddSchema(JsonSchemaNode existingNode, JsonSchema schema)
{
string id;
if (existingNode != null)
{
if (existingNode.Schemas.Contains(schema))
{
return existingNode;
}
id = JsonSchemaNode.GetId(Enumerable.Union<JsonSchema>(existingNode.Schemas, new JsonSchema[]
{
schema
}));
}
else
{
id = JsonSchemaNode.GetId(new JsonSchema[]
{
schema
});
}
if (this._nodes.Contains(id))
{
return this._nodes[id];
}
JsonSchemaNode jsonSchemaNode = (existingNode != null) ? existingNode.Combine(schema) : new JsonSchemaNode(schema);
this._nodes.Add(jsonSchemaNode);
this.AddProperties(schema.Properties, jsonSchemaNode.Properties);
this.AddProperties(schema.PatternProperties, jsonSchemaNode.PatternProperties);
if (schema.Items != null)
{
for (int i = 0; i < schema.Items.Count; i++)
{
this.AddItem(jsonSchemaNode, i, schema.Items[i]);
}
}
if (schema.AdditionalItems != null)
{
this.AddAdditionalItems(jsonSchemaNode, schema.AdditionalItems);
}
if (schema.AdditionalProperties != null)
{
this.AddAdditionalProperties(jsonSchemaNode, schema.AdditionalProperties);
}
if (schema.Extends != null)
{
foreach (JsonSchema current in schema.Extends)
{
jsonSchemaNode = this.AddSchema(jsonSchemaNode, current);
}
}
return jsonSchemaNode;
}