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

◆ EnsureIsReferenceImported()

void System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.EnsureIsReferenceImported ( Type type)
inlineprivate

Definition at line 408 of file ClassDataContract.cs.

409 {
410 bool flag = false;
411 DataContractAttribute dataContractAttribute;
412 bool flag2 = DataContract.TryGetDCAttribute(type, out dataContractAttribute);
413 if (BaseContract != null)
414 {
415 if (flag2 && dataContractAttribute.IsReferenceSetExplicitly)
416 {
418 if ((isReference && !dataContractAttribute.IsReference) || (!isReference && dataContractAttribute.IsReference))
419 {
420 DataContract.ThrowInvalidDataContractException(System.SR.Format(System.SR.InconsistentIsReference, DataContract.GetClrTypeFullName(type), dataContractAttribute.IsReference, DataContract.GetClrTypeFullName(BaseContract.UnderlyingType), BaseContract.IsReference), type);
421 }
422 else
423 {
424 flag = dataContractAttribute.IsReference;
425 }
426 }
427 else
428 {
430 }
431 }
432 else if (flag2 && dataContractAttribute.IsReference)
433 {
434 flag = dataContractAttribute.IsReference;
435 }
436 if (flag && type.IsValueType)
437 {
438 DataContract.ThrowInvalidDataContractException(System.SR.Format(System.SR.ValueTypeCannotHaveIsReference, DataContract.GetClrTypeFullName(type), true, false), type);
439 }
440 else
441 {
442 base.IsReference = flag;
443 }
444 }
DataContract(DataContractCriticalHelper helper)
static string ValueTypeCannotHaveIsReference
Definition SR.cs:304
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InconsistentIsReference
Definition SR.cs:116
Definition SR.cs:7

References System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.BaseContract, System.Runtime.Serialization.Dictionary, System.SR.Format(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.SR.InconsistentIsReference, System.Runtime.Serialization.DataContract.IsReference, System.Runtime.Serialization.DataContract.ThrowInvalidDataContractException(), System.Runtime.Serialization.DataContract.TryGetDCAttribute(), System.type, System.Runtime.Serialization.DataContract.UnderlyingType, and System.SR.ValueTypeCannotHaveIsReference.

Referenced by System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.ImportDataMembers().