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

◆ InternalAdd()

void System.Runtime.Serialization.DataContractSet.InternalAdd ( XmlQualifiedName name,
DataContract dataContract )
inlinepackage

Definition at line 96 of file DataContractSet.cs.

97 {
98 DataContract value = null;
99 if (Contracts.TryGetValue(name, out value))
100 {
101 if (!value.Equals(dataContract))
102 {
103 if (dataContract.UnderlyingType == null || value.UnderlyingType == null)
104 {
105 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.SR.Format(System.SR.DupContractInDataContractSet, dataContract.StableName.Name, dataContract.StableName.Namespace)));
106 }
107 bool flag = DataContract.GetClrTypeFullName(dataContract.UnderlyingType) == DataContract.GetClrTypeFullName(value.UnderlyingType);
108 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.SR.Format(System.SR.DupTypeContractInDataContractSet, flag ? dataContract.UnderlyingType.AssemblyQualifiedName : DataContract.GetClrTypeFullName(dataContract.UnderlyingType), flag ? value.UnderlyingType.AssemblyQualifiedName : DataContract.GetClrTypeFullName(value.UnderlyingType), dataContract.StableName.Name, dataContract.StableName.Namespace)));
109 }
110 }
111 else
112 {
113 Contracts.Add(name, dataContract);
114 if (dataContract is ClassDataContract)
115 {
116 AddClassDataContract((ClassDataContract)dataContract);
117 }
118 else if (dataContract is CollectionDataContract)
119 {
120 AddCollectionDataContract((CollectionDataContract)dataContract);
121 }
122 else if (dataContract is XmlDataContract)
123 {
124 AddXmlDataContract((XmlDataContract)dataContract);
125 }
126 }
127 }
void AddXmlDataContract(XmlDataContract xmlDataContract)
void AddCollectionDataContract(CollectionDataContract collectionDataContract)
void AddClassDataContract(ClassDataContract classDataContract)
static string DupTypeContractInDataContractSet
Definition SR.cs:642
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string DupContractInDataContractSet
Definition SR.cs:640
Definition SR.cs:7

References System.Runtime.Serialization.DataContractSet.AddClassDataContract(), System.Runtime.Serialization.DataContractSet.AddCollectionDataContract(), System.Runtime.Serialization.DataContractSet.AddXmlDataContract(), System.Runtime.Serialization.Dictionary, System.SR.DupContractInDataContractSet, System.SR.DupTypeContractInDataContractSet, System.SR.Format(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), and System.value.

Referenced by System.Runtime.Serialization.DataContractSet.Add().