private object ConvertNamedParameter <TMessage>(IWampFormatter <TMessage> formatter, LocalParameter parameter, TMessage value) { try { return(ConvertParameter(formatter, parameter, value)); } catch (Exception ex) { throw NameError(parameter.Name, ex); } }
private object GetPositionalParameterValue <TMessage>(IWampFormatter <TMessage> formatter, LocalParameter parameter, TMessage value) { try { return(ConvertParameter(formatter, parameter, value)); } catch (Exception ex) { throw PositionError(parameter.Position, ex); } }
private object GetNamedParameterValue <TMessage>(IWampFormatter <TMessage> formatter, LocalParameter parameter, IDictionary <string, TMessage> argumentKeywords) { if (parameter.Name == null) { throw PositionError(parameter.Position); } else { TMessage value; if (argumentKeywords != null && argumentKeywords.TryGetValue(parameter.Name, out value)) { return(ConvertNamedParameter(formatter, parameter, value)); } else if (parameter.HasDefaultValue) { return(parameter.DefaultValue); } else { throw NameError(parameter.Name); } } }
private object ConvertParameter <TMessage>(IWampFormatter <TMessage> formatter, LocalParameter parameter, TMessage value) { return(formatter.Deserialize(parameter.Type, value)); }