Moo.Core.ValueConverter.CanConvert C# (CSharp) Method

CanConvert() private method

private CanConvert ( Type sourceType, Type targetType ) : bool
sourceType System.Type
targetType System.Type
return bool
        public virtual bool CanConvert(Type sourceType, Type targetType)
        {
            Guard.CheckArgumentNotNull(sourceType, "sourceMemberName");
            Guard.CheckArgumentNotNull(targetType, "targetMemberName");

            return
                targetType.IsAssignableFrom(sourceType)
                || (sourceType.IsPrimitive && targetType.IsPrimitive)
                || (targetType == typeof (string));
        }

Usage Example

Ejemplo n.º 1
0
        protected virtual bool CanConvert(
            PropertyInfo sourceProperty,
            PropertyInfo targetProperty,
            out PropertyInfo finalProperty)
        {
            Guard.CheckArgumentNotNull(sourceProperty, "sourceProperty");
            Guard.CheckArgumentNotNull(targetProperty, "targetProperty");
            finalProperty = null;
            bool result = false;

            ValueConverter typeChecker = CreateValueConverter();

            if (sourceProperty.Name.Equals(targetProperty.Name))
            {
                result = typeChecker.CanConvert(sourceProperty.PropertyType, targetProperty.PropertyType);
            }
            else if (targetProperty.Name.StartsWith(sourceProperty.Name, StringComparison.Ordinal))
            {
                string remainder = targetProperty.Name.Substring(sourceProperty.Name.Length);
                finalProperty = sourceProperty.PropertyType.GetProperty(remainder);

                if (finalProperty != null)
                {
                    result = typeChecker.CanConvert(finalProperty.PropertyType, targetProperty.PropertyType);
                }
            }

            return(result);
        }
All Usage Examples Of Moo.Core.ValueConverter::CanConvert
ValueConverter