コード例 #1
0
        private Schema CreateSchema(Type type, Queue <Type> referencedTypes)
        {
//            if (type.IsFSharpOption())
//                type = type.GetGenericArguments()[0];
            JsonContract jsonContract = this._jsonContractResolver.ResolveContract(type);

            if ((this._options.CustomTypeMappings.ContainsKey(type) || !(type != typeof(object))
                    ? 0
                    : (jsonContract is JsonObjectContract || jsonContract.IsSelfReferencingArrayOrDictionary()
                        ? 1
                        : (!type.GetTypeInfo().IsEnum
                            ? 0
                            : (this._options.UseReferencedDefinitionsForEnums ? 1 : 0)))) == 0)
            {
                return(this.CreateInlineSchema(type, referencedTypes));
            }
            return(this.CreateReferenceSchema(type, referencedTypes));
        }