Some refactoring

This commit is contained in:
TheXamlGuy
2024-06-09 22:41:58 +01:00
parent 8d20c0a8c0
commit 5a98b67dcf
34 changed files with 177 additions and 106 deletions
+59
View File
@@ -0,0 +1,59 @@
namespace Toolkit.Foundation;
public static class TupleExtensions
{
public static (T1, T2) CreateValueTuple<T1, T2>(this object[] parameters) => (
(T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2))
);
public static (T1, T2, T3) CreateValueTuple<T1, T2, T3>(this object[] parameters) => (
(T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3))
);
public static (T1, T2, T3, T4) CreateValueTuple<T1, T2, T3, T4>(this object[] parameters) => (
(T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3)),
(T4)Convert.ChangeType(parameters[3], typeof(T4))
);
public static (T1, T2, T3, T4, T5) CreateValueTuple<T1, T2, T3, T4, T5>(this object[] parameters) => (
(T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3)),
(T4)Convert.ChangeType(parameters[3], typeof(T4)),
(T5)Convert.ChangeType(parameters[4], typeof(T5))
);
public static (T1, T2, T3, T4, T5, T6) CreateValueTuple<T1, T2, T3, T4, T5, T6>(this object[] parameters) =>
((T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3)),
(T4)Convert.ChangeType(parameters[3], typeof(T4)),
(T5)Convert.ChangeType(parameters[4], typeof(T5)),
(T6)Convert.ChangeType(parameters[5], typeof(T6))
);
public static (T1, T2, T3, T4, T5, T6, T7) CreateValueTuple<T1, T2, T3, T4, T5, T6, T7>(this object[] parameters) =>
((T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3)),
(T4)Convert.ChangeType(parameters[3], typeof(T4)),
(T5)Convert.ChangeType(parameters[4], typeof(T5)),
(T6)Convert.ChangeType(parameters[5], typeof(T6)),
(T7)Convert.ChangeType(parameters[6], typeof(T7))
);
public static (T1, T2, T3, T4, T5, T6, T7, T8) CreateValueTuple<T1, T2, T3, T4, T5, T6, T7, T8>(this object[] parameters) =>
((T1)Convert.ChangeType(parameters[0], typeof(T1)),
(T2)Convert.ChangeType(parameters[1], typeof(T2)),
(T3)Convert.ChangeType(parameters[2], typeof(T3)),
(T4)Convert.ChangeType(parameters[3], typeof(T4)),
(T5)Convert.ChangeType(parameters[4], typeof(T5)),
(T6)Convert.ChangeType(parameters[5], typeof(T6)),
(T7)Convert.ChangeType(parameters[6], typeof(T7)),
(T8)Convert.ChangeType(parameters[7], typeof(T8))
);
}