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

◆ TryGetDeserializationConstructor()

static bool System.Text.Json.Reflection.ReflectionExtensions.TryGetDeserializationConstructor ( [DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicConstructors | DynamicallyAccessedMemberTypes.NonPublicConstructors)] this Type type,
bool useDefaultCtorInAnnotatedStructs,
out ConstructorInfo deserializationCtor )
inlinestatic

Definition at line 191 of file ReflectionExtensions.cs.

192 {
196 ConstructorInfo[] constructors = type.GetConstructors(BindingFlags.Instance | BindingFlags.Public);
197 if (constructors.Length == 1)
198 {
200 }
203 {
205 {
206 if (constructorInfo != null)
207 {
208 deserializationCtor = null;
209 return false;
210 }
212 }
213 else if (constructorInfo4.GetParameters().Length == 0)
214 {
216 }
217 }
219 constructors = type.GetConstructors(BindingFlags.Instance | BindingFlags.NonPublic);
222 {
224 {
225 if (constructorInfo5 != null)
226 {
227 deserializationCtor = null;
228 return false;
229 }
231 }
232 }
233 if (useDefaultCtorInAnnotatedStructs && type.IsValueType && constructorInfo == null)
234 {
235 deserializationCtor = null;
236 return true;
237 }
239 return true;
240 }
static bool HasJsonConstructorAttribute(ConstructorInfo constructorInfo)

References System.array, System.Text.Json.Dictionary, System.Text.Json.Reflection.ReflectionExtensions.HasJsonConstructorAttribute(), and System.type.