Beispiel #1
0
 public ArgumentDescription(WoopsaMethodArgumentInfo argumentInfo,
                            Type type, WoopsaConverter converter)
 {
     ArgumentInfo = argumentInfo;
     Type         = type;
     Converter    = converter;
 }
Beispiel #2
0
 public void RegisterConverter(Type type, WoopsaConverter converter, WoopsaValueType woopsaValueType)
 {
     _converterDescriptions[type] = new WoopsaConverterDescription()
     {
         Converter       = converter,
         WoopsaValueType = woopsaValueType
     };
 }
Beispiel #3
0
 public MethodDescription(WoopsaValueType returnType, ArgumentDescriptions arguments,
                          MethodInfo methodInfo, WoopsaConverter converter)
 {
     WoopsaReturnType = returnType;
     Arguments        = arguments;
     MethodInfo       = methodInfo;
     Converter        = converter;
 }
Beispiel #4
0
 public PropertyDescription(WoopsaValueType type, PropertyInfo propertyInfo,
                            bool isReadOnly, WoopsaConverter converter)
 {
     WoopsaType   = type;
     PropertyInfo = propertyInfo;
     IsReadOnly   = isReadOnly;
     Converter    = converter;
 }
Beispiel #5
0
        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));
            }
        }
Beispiel #6
0
 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));
     }
 }