Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ InvocationFlags

INVOCATION_FLAGS System.Reflection.RuntimeConstructorInfo.InvocationFlags
getpackage

Definition at line 37 of file RuntimeConstructorInfo.cs.

38 {
39 [MethodImpl(MethodImplOptions.AggressiveInlining)]
40 get
41 {
42 INVOCATION_FLAGS iNVOCATION_FLAGS = m_invocationFlags;
43 if ((iNVOCATION_FLAGS & INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED) == 0)
44 {
46 }
47 return iNVOCATION_FLAGS;
48 [MethodImpl(MethodImplOptions.NoInlining)]
49 INVOCATION_FLAGS LazyCreateInvocationFlags()
50 {
51 INVOCATION_FLAGS iNVOCATION_FLAGS2 = INVOCATION_FLAGS.INVOCATION_FLAGS_IS_CTOR;
53 if (declaringType == typeof(void) || (declaringType != null && declaringType.ContainsGenericParameters) || (CallingConvention & CallingConventions.VarArgs) == CallingConventions.VarArgs)
54 {
55 iNVOCATION_FLAGS2 |= INVOCATION_FLAGS.INVOCATION_FLAGS_NO_INVOKE;
56 }
57 else if (base.IsStatic)
58 {
59 iNVOCATION_FLAGS2 |= INVOCATION_FLAGS.INVOCATION_FLAGS_RUN_CLASS_CONSTRUCTOR | INVOCATION_FLAGS.INVOCATION_FLAGS_NO_CTOR_INVOKE;
60 }
61 else if (declaringType != null && declaringType.IsAbstract)
62 {
63 iNVOCATION_FLAGS2 |= INVOCATION_FLAGS.INVOCATION_FLAGS_NO_CTOR_INVOKE;
64 }
65 else
66 {
67 if (declaringType != null && declaringType.IsByRefLike)
68 {
69 iNVOCATION_FLAGS2 |= INVOCATION_FLAGS.INVOCATION_FLAGS_CONTAINS_STACK_POINTERS;
70 }
71 if (typeof(Delegate).IsAssignableFrom(DeclaringType))
72 {
73 iNVOCATION_FLAGS2 |= INVOCATION_FLAGS.INVOCATION_FLAGS_IS_DELEGATE_CTOR;
74 }
75 }
76 return m_invocationFlags = iNVOCATION_FLAGS2 | INVOCATION_FLAGS.INVOCATION_FLAGS_INITIALIZED;
77 }
78 }
79 }

Referenced by System.Reflection.RuntimeConstructorInfo.Invoke(), and System.Reflection.RuntimeConstructorInfo.Invoke().