moved conversion into a different project.
This commit is contained in:
@@ -327,17 +327,8 @@ namespace PoweredSoft.DynamicLinq.Helpers
|
||||
if (value == null)
|
||||
return Expression.Constant(null);
|
||||
|
||||
// the types.
|
||||
var valueType = value.GetType();
|
||||
var memberType = member.Type;
|
||||
|
||||
// if match.
|
||||
if (valueType == memberType)
|
||||
return Expression.Constant(value);
|
||||
|
||||
// attempt a conversion.
|
||||
object convertedValue = TypeHelpers.ConvertFrom(memberType, value);
|
||||
return Expression.Constant(convertedValue, memberType);
|
||||
var convertedValue = PoweredSoft.Types.Converter.To(value, member.Type);
|
||||
return Expression.Constant(convertedValue, member.Type);
|
||||
}
|
||||
|
||||
public static ConstantExpression ResolveConstant(Expression member, object value, QueryConvertStrategy convertStrategy)
|
||||
@@ -474,7 +465,7 @@ namespace PoweredSoft.DynamicLinq.Helpers
|
||||
foreach (var o in enumerableValue)
|
||||
{
|
||||
if (convertStrategy == QueryConvertStrategy.ConvertConstantToComparedPropertyOrField)
|
||||
list.Add(TypeHelpers.ConvertFrom(memberExpression.Type, o));
|
||||
list.Add(PoweredSoft.Types.Converter.To(o, memberExpression.Type));
|
||||
else
|
||||
list.Add(o);
|
||||
}
|
||||
|
||||
@@ -24,26 +24,7 @@ namespace PoweredSoft.DynamicLinq.Helpers
|
||||
}
|
||||
|
||||
|
||||
public static object ConvertFrom(Type type, object source)
|
||||
{
|
||||
object ret = null;
|
||||
|
||||
// safe if null.
|
||||
if (source == null)
|
||||
return ret;
|
||||
|
||||
// not nullable type.
|
||||
var notNullableType = Nullable.GetUnderlyingType(type);
|
||||
if (notNullableType == null)
|
||||
{
|
||||
ret = Convert.ChangeType(source, type);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// the ret.
|
||||
ret = Convert.ChangeType(source, notNullableType);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
/// <summary>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
<Company>Powered Softwares Inc.</Company>
|
||||
<Authors>David Lebée</Authors>
|
||||
<Copyright></Copyright>
|
||||
@@ -22,6 +22,7 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="PoweredSoft.Types" Version="1.0.0" />
|
||||
<PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user