|
|
|
@ -34,25 +34,25 @@ namespace Tiobon.Core.Common.Extensions |
|
|
|
|
/// <param name="type">类型</param> |
|
|
|
|
/// <param name="generic">泛型类型</param> |
|
|
|
|
/// <returns>bool</returns> |
|
|
|
|
// public static bool HasImplementedRawGeneric(this Type type, Type generic) |
|
|
|
|
// { |
|
|
|
|
// // 检查接口类型 |
|
|
|
|
// var isTheRawGenericType = type.GetInterfaces().Any(IsTheRawGenericType); |
|
|
|
|
// if (isTheRawGenericType) return true; |
|
|
|
|
public static bool HasImplementedRawGeneric(this Type type, Type generic) |
|
|
|
|
{ |
|
|
|
|
// 检查接口类型 |
|
|
|
|
var isTheRawGenericType = type.GetInterfaces().Any(IsTheRawGenericType); |
|
|
|
|
if (isTheRawGenericType) return true; |
|
|
|
|
|
|
|
|
|
// // 检查类型 |
|
|
|
|
// while (type != null && type != typeof(object)) |
|
|
|
|
// { |
|
|
|
|
// isTheRawGenericType = IsTheRawGenericType(type); |
|
|
|
|
// if (isTheRawGenericType) return true; |
|
|
|
|
// type = type.BaseType; |
|
|
|
|
// } |
|
|
|
|
// 检查类型 |
|
|
|
|
while (type != null && type != typeof(object)) |
|
|
|
|
{ |
|
|
|
|
isTheRawGenericType = IsTheRawGenericType(type); |
|
|
|
|
if (isTheRawGenericType) return true; |
|
|
|
|
type = type.BaseType; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// return false; |
|
|
|
|
return false; |
|
|
|
|
|
|
|
|
|
// // 判断逻辑 |
|
|
|
|
// bool IsTheRawGenericType(Type type) => generic == (type.IsGenericType ? type.GetGenericTypeDefinition() : type); |
|
|
|
|
// } |
|
|
|
|
// 判断逻辑 |
|
|
|
|
bool IsTheRawGenericType(Type t) => generic == (t.IsGenericType ? t.GetGenericTypeDefinition() : t); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary> |
|
|
|
|
/// 复制 <paramref name="source"/> 的副本 |
|
|
|
|