diff --git a/src/Cuemon.Core/ActionFactory.cs b/src/Cuemon.Core/ActionFactory.cs
index ecca65a15..f75214d74 100644
--- a/src/Cuemon.Core/ActionFactory.cs
+++ b/src/Cuemon.Core/ActionFactory.cs
@@ -3,473 +3,13 @@
namespace Cuemon
{
///
- /// Provides access to factory methods for creating instances that encapsulate a delegate with a variable amount of generic arguments.
+ /// Provides a way of invoking an delegate regardless of the amount of parameters provided.
///
- public static class ActionFactory
+ /// The type of the n-tuple representation of a .
+ public sealed class ActionFactory : MutableTupleFactory where TTuple : MutableTuple
{
///
- /// Creates a new instance encapsulating the specified .
- ///
- /// The delegate to invoke.
- /// An instance of object initialized with the specified .
- public static ActionFactory Create(Action method)
- {
- return new ActionFactory(tuple => method(), Template.CreateZero(), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and one generic argument.
- ///
- /// The type of the parameter of the delegate .
- /// The delegate to invoke.
- /// The parameter of the delegate .
- /// An instance of object initialized with the specified and one generic argument.
- public static ActionFactory> Create(Action method, T arg)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1), Template.CreateOne(arg), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and two generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// An instance of object initialized with the specified and two generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2), Template.CreateTwo(arg1, arg2), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and three generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// An instance of object initialized with the specified and three generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3), Template.CreateThree(arg1, arg2, arg3), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and four generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// An instance of object initialized with the specified and four generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4), Template.CreateFour(arg1, arg2, arg3, arg4), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and five generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// An instance of object initialized with the specified and five generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5), Template.CreateFive(arg1, arg2, arg3, arg4, arg5), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and six generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// An instance of object initialized with the specified and six generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6), Template.CreateSix(arg1, arg2, arg3, arg4, arg5, arg6), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and seven generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// An instance of object initialized with the specified and seven generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7), Template.CreateSeven(arg1, arg2, arg3, arg4, arg5, arg6, arg7), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and eight generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// An instance of object initialized with the specified and eight generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8), Template.CreateEight(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and nine generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// An instance of object initialized with the specified and nine generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9), Template.CreateNine(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and ten generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// An instance of object initialized with the specified and ten generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10), Template.CreateTen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and eleven generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// An instance of object initialized with the specified and eleven generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11), Template.CreateEleven(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and twelfth generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The type of the twelfth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// The twelfth parameter of the delegate .
- /// An instance of object initialized with the specified and twelfth generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12), Template.CreateTwelve(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and thirteen generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The type of the twelfth parameter of the delegate .
- /// The type of the thirteenth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// The twelfth parameter of the delegate .
- /// The thirteenth parameter of the delegate .
- /// An instance of object initialized with the specified and thirteen generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13), Template.CreateThirteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and fourteen generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The type of the twelfth parameter of the delegate .
- /// The type of the thirteenth parameter of the delegate .
- /// The type of the fourteenth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// The twelfth parameter of the delegate .
- /// The thirteenth parameter of the delegate .
- /// The fourteenth parameter of the delegate .
- /// An instance of object initialized with the specified and fourteen generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14), Template.CreateFourteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and fifteen generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The type of the twelfth parameter of the delegate .
- /// The type of the thirteenth parameter of the delegate .
- /// The type of the fourteenth parameter of the delegate .
- /// The type of the fifteenth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// The twelfth parameter of the delegate .
- /// The thirteenth parameter of the delegate .
- /// The fourteenth parameter of the delegate .
- /// The fifteenth parameter of the delegate .
- /// An instance of object initialized with the specified and fifteen generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14, tuple.Arg15), Template.CreateFifteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and sixteen generic arguments.
- ///
- /// The type of the first parameter of the delegate .
- /// The type of the second parameter of the delegate .
- /// The type of the third parameter of the delegate .
- /// The type of the fourth parameter of the delegate .
- /// The type of the fifth parameter of the delegate .
- /// The type of the sixth parameter of the delegate .
- /// The type of the seventh parameter of the delegate .
- /// The type of the eighth parameter of the delegate .
- /// The type of the ninth parameter of the delegate .
- /// The type of the tenth parameter of the delegate .
- /// The type of the eleventh parameter of the delegate .
- /// The type of the twelfth parameter of the delegate .
- /// The type of the thirteenth parameter of the delegate .
- /// The type of the fourteenth parameter of the delegate .
- /// The type of the fifteenth parameter of the delegate .
- /// The type of the sixteenth parameter of the delegate .
- /// The delegate to invoke.
- /// The first parameter of the delegate .
- /// The second parameter of the delegate .
- /// The third parameter of the delegate .
- /// The fourth parameter of the delegate .
- /// The fifth parameter of the delegate .
- /// The sixth parameter of the delegate .
- /// The seventh parameter of the delegate .
- /// The eighth parameter of the delegate .
- /// The ninth parameter of the delegate .
- /// The tenth parameter of the delegate .
- /// The eleventh parameter of the delegate .
- /// The twelfth parameter of the delegate .
- /// The thirteenth parameter of the delegate .
- /// The fourteenth parameter of the delegate .
- /// The fifteenth parameter of the delegate .
- /// The sixteenth parameter of the delegate .
- /// An instance of object initialized with the specified and sixteen generic arguments.
- public static ActionFactory> Create(Action method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16)
- {
- return new ActionFactory>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14, tuple.Arg15, tuple.Arg16), Template.CreateSixteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16), method);
- }
-
- ///
- /// Invokes the specified delegate with a n- argument.
- ///
- /// The type of the n-tuple representation of a .
- /// The delegate to invoke.
- /// The n-tuple argument of .
- public static void Invoke(Action method, TTuple tuple) where TTuple : Template
- {
- var factory = new ActionFactory(method, tuple);
- factory.ExecuteMethod();
- }
- }
-
- ///
- /// Provides an easy way of invoking an delegate regardless of the amount of parameters provided.
- ///
- /// The type of the n-tuple representation of a .
- public sealed class ActionFactory : TemplateFactory where TTuple : Template
- {
- ///
- /// Initializes a new instance of the class.
+ /// Initializes a new instance of the class.
///
/// The delegate to invoke.
/// The n-tuple argument of .
@@ -483,7 +23,7 @@ public ActionFactory(Action method, TTuple tuple) : this(method, tuple,
/// The delegate to invoke.
/// The n-tuple argument of .
/// The original delegate wrapped by .
- internal ActionFactory(Action method, TTuple tuple, Delegate originalDelegate) : base(tuple, originalDelegate != null)
+ public ActionFactory(Action method, TTuple tuple, Delegate originalDelegate) : base(tuple, originalDelegate != null)
{
Method = method;
DelegateInfo = Decorator.RawEnclose(method).ResolveDelegateInfo(originalDelegate);
@@ -509,9 +49,9 @@ public void ExecuteMethod()
///
/// A new that is a copy of this instance.
/// When thread safety is required this is the method to invoke.
- public override TemplateFactory Clone()
+ public override MutableTupleFactory Clone()
{
return new ActionFactory(Method, GenericArguments.Clone() as TTuple);
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Cuemon.Core/BinaryPrefix.cs b/src/Cuemon.Core/BinaryPrefix.cs
index bc0703113..8874e0af6 100644
--- a/src/Cuemon.Core/BinaryPrefix.cs
+++ b/src/Cuemon.Core/BinaryPrefix.cs
@@ -83,7 +83,7 @@ public sealed class BinaryPrefix : PrefixMultiple
/// Initializes a new instance of the struct.
///
/// The name of the binary prefix.
- /// The symbol of the the binary prefix.
+ /// The symbol of the binary prefix.
/// The number that specifies a power.
public BinaryPrefix(string name, string symbol, double exponent) : base(name, symbol, 2, exponent)
{
diff --git a/src/Cuemon.Core/DecimalPrefix.cs b/src/Cuemon.Core/DecimalPrefix.cs
index 4f1e13dd2..3c5e8720e 100644
--- a/src/Cuemon.Core/DecimalPrefix.cs
+++ b/src/Cuemon.Core/DecimalPrefix.cs
@@ -167,7 +167,7 @@ public sealed class DecimalPrefix : PrefixMultiple
/// Initializes a new instance of the struct.
///
/// The name of the decimal prefix.
- /// The symbol of the the decimal prefix.
+ /// The symbol of the decimal prefix.
/// The number that specifies a power.
public DecimalPrefix(string name, string symbol, double exponent) : base(name, symbol, 10, exponent)
{
diff --git a/src/Cuemon.Core/Extensions/Reflection/AssemblyDecoratorExtensions.cs b/src/Cuemon.Core/Extensions/Reflection/AssemblyDecoratorExtensions.cs
index 79005d590..5f1d95915 100644
--- a/src/Cuemon.Core/Extensions/Reflection/AssemblyDecoratorExtensions.cs
+++ b/src/Cuemon.Core/Extensions/Reflection/AssemblyDecoratorExtensions.cs
@@ -19,7 +19,7 @@ public static class AssemblyDecoratorExtensions
/// Determines whether the underlying of the is a debug build.
///
/// The to extend.
- /// true if the the underlying of the is a debug build; otherwise, false.
+ /// true if the underlying of the is a debug build; otherwise, false.
///
/// cannot be null.
///
diff --git a/src/Cuemon.Core/FuncFactory.cs b/src/Cuemon.Core/FuncFactory.cs
index d89be450d..b993720ca 100644
--- a/src/Cuemon.Core/FuncFactory.cs
+++ b/src/Cuemon.Core/FuncFactory.cs
@@ -3,490 +3,11 @@
namespace Cuemon
{
///
- /// Provides access to factory methods for creating instances that encapsulate a function delegate with a variable amount of generic arguments.
+ /// Provides a way of invoking an delegate regardless of the amount of parameters provided.
///
- public static class FuncFactory
- {
- ///
- /// Creates a new instance encapsulating the specified .
- ///
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// An instance of object initialized with the specified .
- public static FuncFactory Create(Func method)
- {
- return new FuncFactory(tuple => method(), Template.CreateZero(), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and one generic argument.
- ///
- /// The type of the parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The parameter of the function delegate .
- /// An instance of object initialized with the specified and one generic argument.
- public static FuncFactory, TResult> Create(Func method, T arg)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1), Template.CreateOne(arg), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and two generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// An instance of object initialized with the specified and two generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2), Template.CreateTwo(arg1, arg2), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and three generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// An instance of object initialized with the specified and three generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3), Template.CreateThree(arg1, arg2, arg3), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and four generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// An instance of object initialized with the specified and four generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4), Template.CreateFour(arg1, arg2, arg3, arg4), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and five generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// An instance of object initialized with the specified and five generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5), Template.CreateFive(arg1, arg2, arg3, arg4, arg5), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and six generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// An instance of object initialized with the specified and six generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6), Template.CreateSix(arg1, arg2, arg3, arg4, arg5, arg6), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and seven generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// An instance of object initialized with the specified and seven generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7), Template.CreateSeven(arg1, arg2, arg3, arg4, arg5, arg6, arg7), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and eight generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// An instance of object initialized with the specified and eight generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8), Template.CreateEight(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and nine generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// An instance of object initialized with the specified and nine generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9), Template.CreateNine(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and ten generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// An instance of object initialized with the specified and ten generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10), Template.CreateTen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and eleven generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// An instance of object initialized with the specified and eleven generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11), Template.CreateEleven(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and twelfth generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the twelfth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// The twelfth parameter of the function delegate .
- /// An instance of object initialized with the specified and twelfth generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12), Template.CreateTwelve(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and thirteen generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the twelfth parameter of the function delegate .
- /// The type of the thirteenth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// The twelfth parameter of the function delegate .
- /// The thirteenth parameter of the function delegate .
- /// An instance of object initialized with the specified and thirteen generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13), Template.CreateThirteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and fourteen generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the twelfth parameter of the function delegate .
- /// The type of the thirteenth parameter of the function delegate .
- /// The type of the fourteenth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// The twelfth parameter of the function delegate .
- /// The thirteenth parameter of the function delegate .
- /// The fourteenth parameter of the function delegate .
- /// An instance of object initialized with the specified and fourteen generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14), Template.CreateFourteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and fifteen generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the twelfth parameter of the function delegate .
- /// The type of the thirteenth parameter of the function delegate .
- /// The type of the fourteenth parameter of the function delegate .
- /// The type of the fifteenth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// The twelfth parameter of the function delegate .
- /// The thirteenth parameter of the function delegate .
- /// The fourteenth parameter of the function delegate .
- /// The fifteenth parameter of the function delegate .
- /// An instance of object initialized with the specified and fifteen generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14, tuple.Arg15), Template.CreateFifteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15), method);
- }
-
- ///
- /// Creates a new instance encapsulating the specified and sixteen generic arguments.
- ///
- /// The type of the first parameter of the function delegate .
- /// The type of the second parameter of the function delegate .
- /// The type of the third parameter of the function delegate .
- /// The type of the fourth parameter of the function delegate .
- /// The type of the fifth parameter of the function delegate .
- /// The type of the sixth parameter of the function delegate .
- /// The type of the seventh parameter of the function delegate .
- /// The type of the eighth parameter of the function delegate .
- /// The type of the ninth parameter of the function delegate .
- /// The type of the tenth parameter of the function delegate .
- /// The type of the eleventh parameter of the function delegate .
- /// The type of the twelfth parameter of the function delegate .
- /// The type of the thirteenth parameter of the function delegate .
- /// The type of the fourteenth parameter of the function delegate .
- /// The type of the fifteenth parameter of the function delegate .
- /// The type of the sixteenth parameter of the function delegate .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The first parameter of the function delegate .
- /// The second parameter of the function delegate .
- /// The third parameter of the function delegate .
- /// The fourth parameter of the function delegate .
- /// The fifth parameter of the function delegate .
- /// The sixth parameter of the function delegate .
- /// The seventh parameter of the function delegate .
- /// The eighth parameter of the function delegate .
- /// The ninth parameter of the function delegate .
- /// The tenth parameter of the function delegate .
- /// The eleventh parameter of the function delegate .
- /// The twelfth parameter of the function delegate .
- /// The thirteenth parameter of the function delegate .
- /// The fourteenth parameter of the function delegate .
- /// The fifteenth parameter of the function delegate .
- /// The sixteenth parameter of the function delegate .
- /// An instance of object initialized with the specified and sixteen generic arguments.
- public static FuncFactory, TResult> Create(Func method, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13, T14 arg14, T15 arg15, T16 arg16)
- {
- return new FuncFactory, TResult>(tuple => method(tuple.Arg1, tuple.Arg2, tuple.Arg3, tuple.Arg4, tuple.Arg5, tuple.Arg6, tuple.Arg7, tuple.Arg8, tuple.Arg9, tuple.Arg10, tuple.Arg11, tuple.Arg12, tuple.Arg13, tuple.Arg14, tuple.Arg15, tuple.Arg16), Template.CreateSixteen(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16), method);
- }
-
- ///
- /// Invokes the specified delegate with a n- argument.
- ///
- /// The type of the n-tuple representation of a .
- /// The type of the return value of the function delegate .
- /// The function delegate to invoke.
- /// The n-tuple argument of .
- /// The result of the the function delegate .
- public static TResult Invoke(Func method, TTuple tuple) where TTuple : Template
- {
- var factory = new FuncFactory(method, tuple);
- return factory.ExecuteMethod();
- }
- }
-
- ///
- /// Provides an easy way of invoking an function delegate regardless of the amount of parameters provided.
- ///
- /// The type of the n-tuple representation of a .
+ /// The type of the n-tuple representation of a .
/// The type of the return value of the function delegate .
- public sealed class FuncFactory : TemplateFactory where TTuple : Template
+ public sealed class FuncFactory : MutableTupleFactory where TTuple : MutableTuple
{
///
/// Initializes a new instance of the class.
@@ -503,7 +24,7 @@ public FuncFactory(Func method, TTuple tuple) : this(method, tu
/// The function delegate to invoke.
/// The n-tuple argument of .
/// The original delegate wrapped by .
- internal FuncFactory(Func method, TTuple tuple, Delegate originalDelegate) : base(tuple, originalDelegate != null)
+ public FuncFactory(Func method, TTuple tuple, Delegate originalDelegate) : base(tuple, originalDelegate != null)
{
Method = method;
DelegateInfo = Decorator.RawEnclose(method).ResolveDelegateInfo(originalDelegate);
@@ -518,7 +39,7 @@ internal FuncFactory(Func method, TTuple tuple, Delegate origin
///
/// Executes the function delegate associated with this instance.
///
- /// The result of the the function delegate associated with this instance.
+ /// The result of the function delegate associated with this instance.
public TResult ExecuteMethod()
{
ThrowIfNoValidDelegate(Condition.IsNull(Method));
@@ -530,9 +51,9 @@ public TResult ExecuteMethod()
///
/// A new that is a copy of this instance.
/// When thread safety is required this is the method to invoke.
- public override TemplateFactory Clone()
+ public override MutableTupleFactory Clone()
{
return new FuncFactory(Method, GenericArguments.Clone() as TTuple);
}
}
-}
\ No newline at end of file
+}
diff --git a/src/Cuemon.Core/GlobalSuppressions.cs b/src/Cuemon.Core/GlobalSuppressions.cs
index 8444fea6f..8a975064f 100644
--- a/src/Cuemon.Core/GlobalSuppressions.cs
+++ b/src/Cuemon.Core/GlobalSuppressions.cs
@@ -6,118 +6,7 @@
using System.Diagnostics.CodeAnalysis;
[assembly: SuppressMessage("Major Code Smell", "S3881:\"IDisposable\" should be implemented correctly", Justification = "This is a base class implementation of the IDisposable interface tailored to avoid wrong implementations.", Scope = "type", Target = "~T:Cuemon.Disposable")]
[assembly: SuppressMessage("Minor Code Smell", "S1128:Unused \"using\" should be removed", Justification = "It is actually used when resolving extension method from System.Collections.Generic; SC just can't figure this out.")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateEighteen``18(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateEighteen``18(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "", Scope = "member", Target = "~M:Cuemon.Template.CreateEleven``11(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFifteen``15(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFifteen``15(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFourteen``14(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFourteen``14(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateNineteen``19(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateNineteen``19(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSeventeen``17(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSeventeen``17(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSixteen``16(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSixteen``16(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateThirteen``13(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateThirteen``13(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTwelve``12(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTwelve``12(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTwenty``20(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18,``19)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18,``19}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTwenty``20(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18,``19)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17,``18,``19}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template`8.#ctor(`0,`1,`2,`3,`4,`5,`6,`7)")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`10")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`10")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`11")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`11")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`12")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`12")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`13")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`13")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`14")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`14")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`15")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`15")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`16")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`16")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`17")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`17")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`18")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`18")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`19")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`19")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`20")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`20")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`3")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`4")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`5")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`6")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`6")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`7")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`7")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`8")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`8")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "type", Target = "~T:Cuemon.Template`9")]
-[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; provides invaluable information about arguments given to any factory implementation.", Scope = "type", Target = "~T:Cuemon.Template`9")]
[assembly: SuppressMessage("Critical Code Smell", "S3776:Cognitive Complexity of methods should not be too high", Justification = "By design.", Scope = "member", Target = "~F:Cuemon.Convertible.EndianSensitiveByteArrayConverters")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateEight``8(``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateEight``8(``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateEleven``11(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFive``5(``0,``1,``2,``3,``4)~Cuemon.Template{``0,``1,``2,``3,``4}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateFour``4(``0,``1,``2,``3)~Cuemon.Template{``0,``1,``2,``3}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateNine``9(``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateNine``9(``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSeven``7(``0,``1,``2,``3,``4,``5,``6)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateSix``6(``0,``1,``2,``3,``4,``5)~Cuemon.Template{``0,``1,``2,``3,``4,``5}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTen``10(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic.", Scope = "member", Target = "~M:Cuemon.Template.CreateTen``10(``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``10(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``11(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``12(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``13(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``14(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``15(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``16(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``7(System.Action{``0,``1,``2,``3,``4,``5,``6},``0,``1,``2,``3,``4,``5,``6)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``8(System.Action{``0,``1,``2,``3,``4,``5,``6,``7},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``9(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``10(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``11(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``12(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``13(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``14(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``15(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``16(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``4(System.Action{``0,``1,``2,``3},``0,``1,``2,``3)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``5(System.Action{``0,``1,``2,``3,``4},``0,``1,``2,``3,``4)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``6(System.Action{``0,``1,``2,``3,``4,``5},``0,``1,``2,``3,``4,``5)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``7(System.Action{``0,``1,``2,``3,``4,``5,``6},``0,``1,``2,``3,``4,``5,``6)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``8(System.Action{``0,``1,``2,``3,``4,``5,``6,``7},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7}}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Action delegates.", Scope = "member", Target = "~M:Cuemon.ActionFactory.Create``9(System.Action{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.ActionFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8}}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8},``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``10(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8},``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``11(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``12(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``13(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``14(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``15(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``15(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``16(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``16(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``17(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``4(System.Func{``0,``1,``2,``3},``0,``1,``2)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2},``3}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``5(System.Func{``0,``1,``2,``3,``4},``0,``1,``2,``3)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3},``4}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``6(System.Func{``0,``1,``2,``3,``4,``5},``0,``1,``2,``3,``4)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4},``5}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``7(System.Func{``0,``1,``2,``3,``4,``5,``6},``0,``1,``2,``3,``4,``5)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5},``6}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``8(System.Func{``0,``1,``2,``3,``4,``5,``6,``7},``0,``1,``2,``3,``4,``5,``6)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6},``7}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``8(System.Func{``0,``1,``2,``3,``4,``5,``6,``7},``0,``1,``2,``3,``4,``5,``6)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6},``7}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7},``8}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for Func delegates.", Scope = "member", Target = "~M:Cuemon.FuncFactory.Create``9(System.Func{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.FuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7},``8}")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`10")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`11")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`12")]
@@ -128,31 +17,6 @@
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`17")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`18")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "A Func designed for the Tester pattern. Microsoft allows 17 arguments in there Func impl; so do i here.", Scope = "type", Target = "~T:Cuemon.TesterFunc`9")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``10(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7},``8,``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``10(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``0,``1,``2,``3,``4,``5,``6,``7)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7},``8,``9}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``11(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8},``9,``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``11(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``0,``1,``2,``3,``4,``5,``6,``7,``8)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8},``9,``10}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``12(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``10,``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``12(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9},``10,``11}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``13(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``11,``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``13(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10},``11,``12}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``14(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``12,``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``14(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11},``12,``13}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``15(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``13,``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``15(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12},``13,``14}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``16(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``14,``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``16(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13},``14,``15}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``17(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``15,``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``17(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14},``15,``16}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``18(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``16,``17}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``18(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15,``16,``17},``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6,``7,``8,``9,``10,``11,``12,``13,``14,``15},``16,``17}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``4(Cuemon.TesterFunc{``0,``1,``2,``3},``0,``1)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1},``2,``3}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``5(Cuemon.TesterFunc{``0,``1,``2,``3,``4},``0,``1,``2)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2},``3,``4}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``6(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5},``0,``1,``2,``3)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3},``4,``5}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``7(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6},``0,``1,``2,``3,``4)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4},``5,``6}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``8(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7},``0,``1,``2,``3,``4,``5)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5},``6,``7}")]
-[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``9(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6},``7,``8}")]
-[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "member", Target = "~M:Cuemon.TesterFuncFactory.Create``9(Cuemon.TesterFunc{``0,``1,``2,``3,``4,``5,``6,``7,``8},``0,``1,``2,``3,``4,``5,``6)~Cuemon.TesterFuncFactory{Cuemon.Template{``0,``1,``2,``3,``4,``5,``6},``7,``8}")]
[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; think about it as a Tuple/Variadic - but for TesterFunc delegates.", Scope = "type", Target = "~T:Cuemon.TesterFuncFactory`3")]
[assembly: SuppressMessage("Major Code Smell", "S107:Methods should not have too many parameters", Justification = "By design; allow up till 5 arguments (more under certain conditions)..", Scope = "member", Target = "~M:Cuemon.Patterns.SafeInvoke``6(System.Func{``5},System.Func{``5,``0,``1,``2,``3,``4,``5},``0,``1,``2,``3,``4,System.Action{System.Exception,``0,``1,``2,``3,``4})~``5")]
[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow up till 5 arguments (more under certain conditions)..", Scope = "member", Target = "~M:Cuemon.Patterns.SafeInvoke``4(System.Func{``3},System.Func{``3,``0,``1,``2,``3},``0,``1,``2,System.Action{System.Exception,``0,``1,``2})~``3")]
@@ -209,3 +73,36 @@
[assembly: SuppressMessage("Naming", "CA1710:Identifiers should have correct suffix", Justification = "Explicit implementation.", Scope = "type", Target = "~T:Cuemon.Diagnostics.Failure")]
[assembly: SuppressMessage("Reliability", "CA2022:Avoid inexact read with 'Stream.Read'", Justification = "Byteordermark - best effort.", Scope = "member", Target = "~M:Cuemon.Text.ByteOrderMark.TryDetectEncoding(System.IO.Stream,System.Text.Encoding@)~System.Boolean")]
[assembly: SuppressMessage("Style", "IDE0005:Using directive is unnecessary.", Justification = "False-positive; needed for TFM netstandard2.0.")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`10")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`10")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`11")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`11")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`12")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`12")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`13")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`13")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`14")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`14")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`15")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`15")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`16")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`16")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`17")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`17")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`18")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`18")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`19")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`19")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`20")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`20")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`3")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`4")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`5")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`6")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`6")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`7")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`7")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`8")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`8")]
+[assembly: SuppressMessage("Major Code Smell", "S110:Inheritance tree of classes should not be too deep", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`9")]
+[assembly: SuppressMessage("Major Code Smell", "S2436:Types and methods should not have too many generic parameters", Justification = "By design; allow to exceed generic arguments recommendation.", Scope = "type", Target = "~T:Cuemon.MutableTuple`9")]
diff --git a/src/Cuemon.Core/MutableTuple.cs b/src/Cuemon.Core/MutableTuple.cs
new file mode 100644
index 000000000..67a560f65
--- /dev/null
+++ b/src/Cuemon.Core/MutableTuple.cs
@@ -0,0 +1,1272 @@
+using System;
+using Cuemon.Collections.Generic;
+
+namespace Cuemon
+{
+ ///
+ /// Represents a with an empty value.
+ ///
+ public class MutableTuple
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public MutableTuple()
+ {
+ }
+
+ ///
+ /// Returns an array of objects that represent the arguments passed to this instance.
+ ///
+ /// An array of objects that represent the arguments passed to this instance. Returns an empty array if the current instance was constructed with no generic arguments.
+ public virtual object[] ToArray()
+ {
+ return Array.Empty