Class FastActivator<TResult>
- Namespace
- FishMMO.Shared
- Assembly
- FishMMO-SharedUtility.dll
A faster alternative to Activator.CreateInstance
The 17 constructor overloads (0 through 16 arguments) are intentionally copy-pasted rather than unified behind IReadOnlyList<object?>. This eliminates boxing/allocation of value-type arguments and avoids the per-call array or list allocation that a params-style API would require, keeping construction as close to raw "new" as possible.
public static class FastActivator<TResult> where TResult : class
Type Parameters
TResult
- Inheritance
-
FastActivator<TResult>
- Inherited Members
Methods
CreateInstance()
public static TResult CreateInstance()
Returns
- TResult
CreateInstance<TArg>(TArg)
public static TResult CreateInstance<TArg>(TArg arg)
Parameters
argTArg
Returns
- TResult
Type Parameters
TArg
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11arg12TArg12
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11TArg12
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11arg12TArg12arg13TArg13
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11TArg12TArg13
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11arg12TArg12arg13TArg13arg14TArg14
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11TArg12TArg13TArg14
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14, TArg15 arg15)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11arg12TArg12arg13TArg13arg14TArg14arg15TArg15
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11TArg12TArg13TArg14TArg15
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9, TArg10, TArg11, TArg12, TArg13, TArg14, TArg15, TArg16>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9, TArg10 arg10, TArg11 arg11, TArg12 arg12, TArg13 arg13, TArg14 arg14, TArg15 arg15, TArg16 arg16)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9arg10TArg10arg11TArg11arg12TArg12arg13TArg13arg14TArg14arg15TArg15arg16TArg16
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9TArg10TArg11TArg12TArg13TArg14TArg15TArg16
CreateInstance<TArg1, TArg2>(TArg1, TArg2)
public static TResult CreateInstance<TArg1, TArg2>(TArg1 arg1, TArg2 arg2)
Parameters
arg1TArg1arg2TArg2
Returns
- TResult
Type Parameters
TArg1TArg2
CreateInstance<TArg1, TArg2, TArg3>(TArg1, TArg2, TArg3)
public static TResult CreateInstance<TArg1, TArg2, TArg3>(TArg1 arg1, TArg2 arg2, TArg3 arg3)
Parameters
arg1TArg1arg2TArg2arg3TArg3
Returns
- TResult
Type Parameters
TArg1TArg2TArg3
CreateInstance<TArg1, TArg2, TArg3, TArg4>(TArg1, TArg2, TArg3, TArg4)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5>(TArg1, TArg2, TArg3, TArg4, TArg5)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8
CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9)
public static TResult CreateInstance<TArg1, TArg2, TArg3, TArg4, TArg5, TArg6, TArg7, TArg8, TArg9>(TArg1 arg1, TArg2 arg2, TArg3 arg3, TArg4 arg4, TArg5 arg5, TArg6 arg6, TArg7 arg7, TArg8 arg8, TArg9 arg9)
Parameters
arg1TArg1arg2TArg2arg3TArg3arg4TArg4arg5TArg5arg6TArg6arg7TArg7arg8TArg8arg9TArg9
Returns
- TResult
Type Parameters
TArg1TArg2TArg3TArg4TArg5TArg6TArg7TArg8TArg9