コード例 #1
0
        private string GetItemString(T item)
        {
            if (item == null)
            {
                return(string.Empty);
            }

            if (toStringFunc == null)
            {
                toStringFunc = ToStringExpression.Compile();
            }

            object value = null;

            try
            {
                value = toStringFunc.Invoke(item);
            }
            catch (NullReferenceException) { }

            if (value == null)
            {
                return(string.Empty);
            }

            if (string.IsNullOrEmpty(Format))
            {
                return(value.ToString());
            }

            return(string.Format(CultureInfo.CurrentCulture, $"{{0:{Format}}}", value));
        }
コード例 #2
0
        public static void SerializeToStringExpression()
        {
            var a = new ToStringExpression(new NumberLiteral(2));
            var b = SerializationUtil.Reserialize(a);

            Assert.AreEqual(a, b);
        }
コード例 #3
0
        public void TestMethod3_only_var()
        {
            ToStringExpression result = ToStringELParser.ParseExpression("@description");

            Assert.AreEqual("{0}", result.ConstExpression);
            Assert.AreEqual(1, result.FieldNames.Count);
            Assert.AreEqual("description", result.FieldNames[0]);
        }
コード例 #4
0
        public void TestMethod2()
        {
            ToStringExpression result = ToStringELParser.ParseExpression("valor @description e unidade= @unidade");

            Assert.AreEqual("valor {0} e unidade= {1}", result.ConstExpression);
            Assert.AreEqual(2, result.FieldNames.Count);
            Assert.AreEqual("description", result.FieldNames[0]);
            Assert.AreEqual("unidade", result.FieldNames[1]);
        }