private static object ResolverValueDataTypeMap(EValueDataType valueType, object resolverValue) { // TODO: handle all cases... object o = resolverValue; switch (valueType) { case EValueDataType.Boolean: o = Convert.ToBoolean(resolverValue); break; case EValueDataType.Int: o = int.Parse(resolverValue.ToString()); break; case EValueDataType.Byte: o = byte.Parse(resolverValue.ToString()); break; case EValueDataType.DateTime: o = DateTime.Parse(resolverValue.ToString()); break; case EValueDataType.Date: o = DateTime.Parse(resolverValue.ToString()).Date; break; } return(o); }
public override string ToString() { EValueDataType datatype = (EValueDataType)(DataType & 0x00FFFF); EValueDataSize datasize = (EValueDataSize)(DataType & 0xFF0000); return($"<{_ValTypeString()} [{ValueType.ToString()}] ({datatype.ToString()},{datasize.ToString()})>"); }
/// <summary> /// Constructs parameter value of value type (non-literal) /// </summary> /// <param name="value"></param> /// <param name="datatype"></param> /// <param name="datasize"></param> /// <param name="size"></param> public ParameterResolverValue( object value, EValueDataType datatype, EValueDataSize datasize = EValueDataSize.Normal, uint reserved = 0, uint size = 0) { Value = value; DataType = (uint)datatype | (uint)datasize | reserved; if (value is ICollection && reserved == 0 && (DataType & (uint)EValueDataType.AdvancedMask) == 0) { DataType |= (uint)EValueDataType.Collection; } DataSize = size; ValueType = EResolverValueType.ValueType; }