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

◆ IsTypeSerializable() [2/2]

static bool System.Runtime.Serialization.DataContract.IsTypeSerializable ( Type type,
HashSet< Type > previousCollectionTypes )
inlinestaticprivateinherited

Definition at line 1438 of file DataContract.cs.

1439 {
1440 if (type.IsSerializable || type.IsEnum || type.IsDefined(Globals.TypeOfDataContractAttribute, inherit: false) || type.IsInterface || type.IsPointer || type == Globals.TypeOfDBNull || Globals.TypeOfIXmlSerializable.IsAssignableFrom(type))
1441 {
1442 return true;
1443 }
1444 if (CollectionDataContract.IsCollection(type, out var itemType))
1445 {
1448 {
1449 return true;
1450 }
1451 }
1452 if (GetBuiltInDataContract(type) == null)
1453 {
1454 return ClassDataContract.IsNonAttributedTypeValidForSerialization(type);
1455 }
1456 return true;
1457 }
static DataContract GetBuiltInDataContract(Type type)
static void ValidatePreviousCollectionTypes(Type collectionType, Type itemType, HashSet< Type > previousCollectionTypes)

References System.Runtime.Serialization.DataContract.GetBuiltInDataContract(), System.Runtime.Serialization.CollectionDataContract.IsCollection(), System.Runtime.Serialization.ClassDataContract.IsNonAttributedTypeValidForSerialization(), System.Runtime.Serialization.DataContract.IsTypeSerializable(), System.type, System.Runtime.Serialization.Globals.TypeOfDataContractAttribute, System.Runtime.Serialization.Globals.TypeOfDBNull, System.Runtime.Serialization.Globals.TypeOfIXmlSerializable, and System.Runtime.Serialization.DataContract.ValidatePreviousCollectionTypes().