/// <inheritdoc /> public void Handle(IJsonContractRequest request) { if (request.dataType.IsEnum && !Attribute.IsDefined(request.dataType, typeof(FlagsAttribute))) { var converter = new EnumJsonConverter(request.dataType); var contract = new JsonLinqContract(request.dataType) { Converter = converter }; request.Return(contract); } }
/// <inheritdoc /> public void Handle(IJsonContractRequest request) { if (request.dataType.IsEnum && Attribute.IsDefined(request.dataType, typeof(FlagsAttribute))) { var converter = new StringEnumConverter { AllowIntegerValues = false }; request.Return(new JsonPrimitiveContract(request.dataType) { Converter = converter }); } }
/// <inheritdoc /> public void Handle(IJsonContractRequest request) { var valueType = request.dataType.GetGenericArguments()[0]; var valueDefault = valueType.GetCustomAttributes() .Select(a => a as IDefaultValueProvider).FirstOrDefault(a => a is {})