/// <summary> /// Resolves a parameter value based on the provided object. /// </summary> /// <param name="descriptor">Parameter descriptor.</param> /// <param name="value">Value to resolve the parameter value from.</param> /// <returns>The parameter value.</returns> public virtual object ResolveParameter(ParameterDescriptor descriptor, IJsonValue value) { if (value.GetType() == descriptor.Type) { return value; } return value.ConvertTo(descriptor.Type); }
/// <summary> /// Resolves a parameter value based on the provided object. /// </summary> /// <param name="descriptor">Parameter descriptor.</param> /// <param name="value">Value to resolve the parameter value from.</param> /// <returns>The parameter value.</returns> public virtual object ResolveParameter(ParameterDescriptor descriptor, JToken value) { if (value.GetType() == descriptor.Type) { return value; } // A non generic implementation of ToObject<T> on JToken using (var jsonReader = new JTokenReader(value)) { var serializer = new JsonSerializer(); return serializer.Deserialize(jsonReader, descriptor.Type); } }