mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-02 20:02:47 +08:00
Compatible with .NET CORE
This commit is contained in:
parent
339e0c93c1
commit
963c7de85d
@ -1,6 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace SqlSugar
|
namespace SqlSugar
|
||||||
@ -14,5 +15,65 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
return typeInfo;
|
return typeInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Type[] GetGenericArguments(this Type type)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetGenericArguments();
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
public static bool IsGenericType(this Type type)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().IsGenericType;
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
public static PropertyInfo[] GetProperties(this Type type)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetProperties();
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
public static PropertyInfo GetProperty(this Type type, string name)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetProperty(name);
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static FieldInfo GetField(this Type type, string name)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetField(name);
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsEnum(this Type type)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().IsEnum;
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MethodInfo GetMethod(this Type type, string name)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetMethod(name);
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
public static MethodInfo GetMethod(this Type type, string name, Type[] types)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetMethod(name, types);
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
public static ConstructorInfo GetConstructor(this Type type, Type[] types)
|
||||||
|
{
|
||||||
|
var reval = type.GetTypeInfo().GetConstructor(types);
|
||||||
|
return reval;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static bool IsValueType(this Type type)
|
||||||
|
{
|
||||||
|
return type.GetTypeInfo().IsValueType;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static bool IsEntity(this Type type)
|
||||||
|
{
|
||||||
|
return type.GetTypeInfo().IsClass();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ namespace SqlSugar
|
|||||||
object reval = null;
|
object reval = null;
|
||||||
FieldInfo field = (FieldInfo)memberExpr.Member;
|
FieldInfo field = (FieldInfo)memberExpr.Member;
|
||||||
reval = field.GetValue(memberExpr.Member);
|
reval = field.GetValue(memberExpr.Member);
|
||||||
if (reval != null && reval.GetType().IsClass && reval.GetType() != ExpressionConst.StringType)
|
if (reval != null && reval.GetType().IsClass() && reval.GetType() != ExpressionConst.StringType)
|
||||||
{
|
{
|
||||||
var fieldName = memberExpr.Member.Name;
|
var fieldName = memberExpr.Member.Name;
|
||||||
var proInfo = reval.GetType().GetProperty(fieldName);
|
var proInfo = reval.GetType().GetProperty(fieldName);
|
||||||
@ -137,7 +137,7 @@ namespace SqlSugar
|
|||||||
object reval = null;
|
object reval = null;
|
||||||
PropertyInfo pro = (PropertyInfo)memberExpr.Member;
|
PropertyInfo pro = (PropertyInfo)memberExpr.Member;
|
||||||
reval = pro.GetValue(memberExpr.Member, null);
|
reval = pro.GetValue(memberExpr.Member, null);
|
||||||
if (reval != null && reval.GetType().IsClass && reval.GetType() != ExpressionConst.StringType)
|
if (reval != null && reval.GetType().IsClass() && reval.GetType() != ExpressionConst.StringType)
|
||||||
{
|
{
|
||||||
var fieldName = memberExpr.Member.Name;
|
var fieldName = memberExpr.Member.Name;
|
||||||
var proInfo = reval.GetType().GetProperty(fieldName);
|
var proInfo = reval.GetType().GetProperty(fieldName);
|
||||||
@ -161,7 +161,7 @@ namespace SqlSugar
|
|||||||
public static object DynamicInvoke(Expression expression)
|
public static object DynamicInvoke(Expression expression)
|
||||||
{
|
{
|
||||||
object value = Expression.Lambda(expression).Compile().DynamicInvoke();
|
object value = Expression.Lambda(expression).Compile().DynamicInvoke();
|
||||||
if (value != null && value.GetType().IsClass && value.GetType() != ExpressionConst.StringType)
|
if (value != null && value.GetType().IsClass() && value.GetType() != ExpressionConst.StringType)
|
||||||
{
|
{
|
||||||
value = Expression.Lambda(expression).Compile().DynamicInvoke();
|
value = Expression.Lambda(expression).Compile().DynamicInvoke();
|
||||||
}
|
}
|
||||||
@ -180,7 +180,7 @@ namespace SqlSugar
|
|||||||
|
|
||||||
public static bool IsEntity(Type type)
|
public static bool IsEntity(Type type)
|
||||||
{
|
{
|
||||||
return type.IsClass && type!=ExpressionConst.StringType;
|
return type.IsClass() && type!=ExpressionConst.StringType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsValueType(Type type)
|
public static bool IsValueType(Type type)
|
||||||
|
Loading…
Reference in New Issue
Block a user