示例#1
0
        private static void CreateDependentSchemaScope(JsonToken token, ContextBase context, int depth, SchemaScope scope, string dependencyKey, JSchema dependencySchema)
        {
            if (!DependentSchemaAlreadyCreated(scope, dependencyKey))
            {
                DependentSchemaScope?dependentSchemaScope = context.Validator.GetCachedScope <DependentSchemaScope>(ScopeType.DependentSchema);
                if (dependentSchemaScope == null)
                {
                    dependentSchemaScope = new DependentSchemaScope();
                }
                dependentSchemaScope.Initialize(context, scope, depth, ScopeType.DependentSchema);
                scope.AddChildScope(dependentSchemaScope);

                dependentSchemaScope.PropertyName = dependencyKey;
                dependentSchemaScope.InitializeScopes(token, new List <JSchema> {
                    dependencySchema
                }, context.Scopes.Count - 1);
            }
        }