lith %!s(int64=3) %!d(string=hai) anos
pai
achega
6aa2836cf4

+ 2 - 2
dotnet/Library/Sers/Sers.Core/Sers.Core/Module/Api/LocalApi/Event/LocalApiEvent.cs

@@ -3,7 +3,7 @@ using Sers.Core.Module.Rpc;
 using System;
 using System.Runtime.CompilerServices;
 using Vit.Core.Module.Log;
-using Vit.Extensions.IEnumerable;
+using Vit.Extensions;
 
 namespace Sers.Core.Module.Api.LocalApi.Event
 {
@@ -30,7 +30,7 @@ namespace Sers.Core.Module.Api.LocalApi.Event
         {
             if (events_OnDispose == null) return;
 
-            events_OnDispose.ForEach(end =>
+            events_OnDispose.IEnumerable_ForEach(end =>
             {
                 try
                 {

+ 56 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Collections/IEnumerableExtensions.cs

@@ -0,0 +1,56 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace Vit.Extensions
+{
+    /// <summary>
+    ///  
+    /// </summary>
+    public static partial class IEnumerableExtensions
+    {
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <param name="action"></param>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static void IEnumerable_ForEach<T>(this IEnumerable<T> data, Action<T> action)
+        {
+            foreach (var item in data)
+            {
+                action(item);
+            }
+        }
+
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static List<T> IEnumerable_ToList<T>(this IEnumerable data) //ICollection data
+        {
+            return data?.GetEnumerator().IEnumerator_ToList<T>();
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static List<T> IEnumerable_ToList<T>(this IEnumerable<T> data) //ICollection data
+        {
+            return data?.GetEnumerator().IEnumerator_ToList();
+        }
+
+       
+    }
+}

+ 52 - 0
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/Collections/IEnumeratorExtensions.cs

@@ -0,0 +1,52 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Runtime.CompilerServices;
+
+namespace Vit.Extensions
+{
+    /// <summary>
+    ///  
+    /// </summary>
+    public static partial class IEnumeratorExtensions
+    {
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static List<T> IEnumerator_ToList<T>(this IEnumerator data)
+        {
+            var list = new List<T>();
+            data.Reset();
+            while (data.MoveNext())
+            {
+                list.Add((T)data.Current);
+            }
+            return list;
+        }
+
+        /// <summary>
+        /// 
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        [MethodImpl(MethodImplOptions.AggressiveInlining)]
+        public static List<T> IEnumerator_ToList<T>(this IEnumerator<T> data)
+        {
+            var list = new List<T>();
+            data.Reset();
+            while (data.MoveNext())
+            {
+                list.Add(data.Current);
+            }
+            return list;
+        }
+
+
+    }
+}

+ 0 - 29
dotnet/Library/Vit/Vit.Core/Vit.Core/Extensions/IEnumerable/IEnumerableExtensions.cs

@@ -1,29 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Runtime.CompilerServices;
-
-namespace Vit.Extensions.IEnumerable
-{
-    /// <summary>
-    ///  
-    /// </summary>
-    public static partial class IEnumerableExtensions
-    {
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <typeparam name="T"></typeparam>
-        /// <param name="data"></param>
-        /// <param name="action"></param>
-        [MethodImpl(MethodImplOptions.AggressiveInlining)]
-        public static void ForEach<T>(this IEnumerable<T> data, Action<T> action)
-        {
-            foreach (var item in data)
-            {
-                action(item);
-            }
-        }
-
-    }
-}

+ 1 - 2
dotnet/ServiceCenter/Sers.ServiceCenter/Apm/Sers.Gover.Apm.Txt/AppEvent.cs

@@ -8,7 +8,6 @@ using System.Collections.Generic;
 using System.Text;
 using Vit.Core.Module.Log;
 using Vit.Extensions;
-using Vit.Extensions.IEnumerable;
 
 namespace Sers.Gover.Apm.Txt
 {
@@ -162,7 +161,7 @@ namespace Sers.Gover.Apm.Txt
                 msg.Append(Environment.NewLine).Append("--duration :").Append((endTime - beginTime).TotalMilliseconds).Append(" ms");
 
          
-                config.tags?.ForEach(item =>
+                config.tags?.IEnumerable_ForEach(item =>
                 {
                     //try
                     //{

+ 1 - 2
dotnet/ServiceCenter/Sers.ServiceCenter/Apm/Sers.Gover.Apm.Zipkin/AppEvent.cs

@@ -8,7 +8,6 @@ using System;
 using System.Collections.Generic;
 using Vit.Core.Module.Log;
 using Vit.Extensions;
-using Vit.Extensions.IEnumerable;
 using zipkin4net;
 using zipkin4net.Tracers.Zipkin;
 using zipkin4net.Transport.Http;
@@ -213,7 +212,7 @@ namespace Sers.Gover.Apm.Zipkin
                 #endregion
 
                 //tags
-                config.tags?.ForEach(item =>
+                config.tags?.IEnumerable_ForEach(item =>
                 {
                     var key = GetTagValue(item.Key);
                     var value = GetTagValue(item.Value);