예제 #1
0
        public object Execute(object value)
        {
            if (transformation == null)
            {
                throw new InvalidOperationException();
            }

            var factory = new CasterFactory <T>();
            var caster  = factory.Instantiate();

            object typedValue = null;

            if (value == null || value == DBNull.Value || value as string == "(null)")
            {
                typedValue = null;
            }
            else if ((typeof(T) != typeof(string)) && (value is string) && ((string.IsNullOrEmpty(value as string) || value as string == "(empty)")))
            {
                typedValue = null;
            }
            else
            {
                typedValue = (object)(caster.Execute(value));
            }

            var transformedValue = transformation.Evaluate(typedValue);

            return(transformedValue);
        }
예제 #2
0
        public object Execute(object value)
        {
            if (transformation == null)
            {
                throw new InvalidOperationException();
            }

            var factory    = new CasterFactory <T>();
            var caster     = factory.Instantiate();
            var typedValue = caster.Execute(value);

            var transformedValue = transformation.Evaluate(typedValue);

            return(transformedValue);
        }
예제 #3
0
        public object Execute(object value)
        {
            if (transformation == null)
            {
                throw new InvalidOperationException();
            }

            var factory    = new ConverterFactory <T>();
            var converter  = factory.Build();
            var typedValue = converter.Convert(value);

            var transformedValue = transformation.Evaluate(typedValue);

            return(transformedValue);
        }