public ArgumentDescription(WoopsaMethodArgumentInfo argumentInfo, Type type, WoopsaConverter converter) { ArgumentInfo = argumentInfo; Type = type; Converter = converter; }
public void RegisterConverter(Type type, WoopsaConverter converter, WoopsaValueType woopsaValueType) { _converterDescriptions[type] = new WoopsaConverterDescription() { Converter = converter, WoopsaValueType = woopsaValueType }; }
public MethodDescription(WoopsaValueType returnType, ArgumentDescriptions arguments, MethodInfo methodInfo, WoopsaConverter converter) { WoopsaReturnType = returnType; Arguments = arguments; MethodInfo = methodInfo; Converter = converter; }
public PropertyDescription(WoopsaValueType type, PropertyInfo propertyInfo, bool isReadOnly, WoopsaConverter converter) { WoopsaType = type; PropertyInfo = propertyInfo; IsReadOnly = isReadOnly; Converter = converter; }
public bool InferWoopsaType(Type type, out WoopsaValueType woopsaValueType, out WoopsaConverter converter) { WoopsaConverterDescription converterDescription; if (_converterDescriptions.TryGetValue(type, out converterDescription)) { woopsaValueType = converterDescription.WoopsaValueType; converter = converterDescription.Converter; return(true); } else { converter = WoopsaConverterDefault.Default; return(WoopsaTypeUtils.InferWoopsaType(type, out woopsaValueType)); } }
private static bool InferWoopsaType(WoopsaConverters customValueTypeConverters, Type type, out WoopsaValueType woopsaValueType, out WoopsaConverter converter) { if (customValueTypeConverters != null) { return(customValueTypeConverters.InferWoopsaType(type, out woopsaValueType, out converter)); } else { converter = WoopsaConverterDefault.Default; return(WoopsaTypeUtils.InferWoopsaType(type, out woopsaValueType)); } }