From ba83fcf8488b2c8609e5eb63ae1b19695d6eb34b Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 30 Sep 2021 19:28:37 +0300 Subject: [PATCH] Update Append method TypeHelpers.GetElementTypeOfEnumerable --- ZeroLevel/Services/Reflection/TypeHelpers.cs | 11 +++++++++++ ZeroLevel/ZeroLevel.csproj | 8 ++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ZeroLevel/Services/Reflection/TypeHelpers.cs b/ZeroLevel/Services/Reflection/TypeHelpers.cs index 9d0ebed..eda7d18 100644 --- a/ZeroLevel/Services/Reflection/TypeHelpers.cs +++ b/ZeroLevel/Services/Reflection/TypeHelpers.cs @@ -204,5 +204,16 @@ namespace ZeroLevel.Services.Reflection } return FormatterServices.GetUninitializedObject(type); } + + public static Type GetElementTypeOfEnumerable(object o) + { + var enumerable = o as IEnumerable; + if (enumerable == null) + return null; + Type[] interfaces = enumerable.GetType().GetInterfaces(); + return (from i in interfaces + where i.IsGenericType && i.GetGenericTypeDefinition() == typeof(IEnumerable<>) + select i.GetGenericArguments()[0]).FirstOrDefault(); + } } } \ No newline at end of file diff --git a/ZeroLevel/ZeroLevel.csproj b/ZeroLevel/ZeroLevel.csproj index 83ab122..85d2892 100644 --- a/ZeroLevel/ZeroLevel.csproj +++ b/ZeroLevel/ZeroLevel.csproj @@ -6,16 +6,16 @@ ogoun ogoun - 3.3.5.5 - Update TypeMapper + 3.3.5.6 + Append method TypeHelpers.GetElementTypeOfEnumerable https://github.com/ogoun/Zero/wiki Copyright Ogoun 2021 https://github.com/ogoun/Zero GitHub - 3.3.5.5 - 3.3.5.5 + 3.3.5.6 + 3.3.5.6 AnyCPU;x64;x86 zero.png