Ejemplo n.º 1
0
 public void ToStringTestNonLegacy()
 {
     CriteriaOperator opa = new OperandValue() & new OperandValue(true) & 'q' & new DateTime(2006, 12, 02) & "q" & 1m & 1d & 1f & new OperandValue((byte)1) & new OperandValue((sbyte)1) & (short)1 & new OperandValue((ushort)1) & 1 & new OperandValue(1u) & 1L & new OperandValue(1uL) & Guid.Empty & TimeSpan.Zero;
     string tostr = opa.ToString();
     Assert.AreEqual("? And True And 'q'c And #2006-12-02# And 'q' And 1.0m And 1.0 And 1.0f And 1b And 1sb And 1s And 1us And 1 And 1u And 1L And 1uL And {00000000-0000-0000-0000-000000000000} And #00:00:00#", tostr);
     Assert.AreEqual(opa, CriteriaOperator.Parse(tostr));
 }
Ejemplo n.º 2
0
 /// <summary>
 /// Преобразование указанного значения в строку формата Variant
 /// </summary>
 /// <param name="value">Значение</param>
 /// <returns>Строка, представляющее значение в формате Variant</returns>
 /// <exception cref="ArgumentException">Значение не поддерживает интерфейс IConvertible</exception>
 public static string ValueToString(object value)
 {
     if (value == null) return null;
     string typeString, valueString;
     if (value is IConvertible)
     {
         typeString = Type.GetTypeCode(value.GetType()).ToString();
         valueString = Convert.ToString(value, CultureInfo.InvariantCulture);
     }
     else
         throw new ArgumentException();
     object t = new OperandProperty(typeString);
     object v = new OperandValue(valueString);
     return string.Concat(t.ToString(), ":", v.ToString());
 }