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

◆ GetCollectionStableName()

static XmlQualifiedName System.Runtime.Serialization.DataContract.GetCollectionStableName ( Type type,
Type itemType,
out CollectionDataContractAttribute collectionContractAttribute )
inlinestaticpackageinherited

Definition at line 1680 of file DataContract.cs.

1681 {
1682 object[] array = type.GetCustomAttributes(Globals.TypeOfCollectionDataContractAttribute, inherit: false).ToArray();
1683 string text;
1684 string text2;
1685 if (array != null && array.Length != 0)
1686 {
1687 collectionContractAttribute = (CollectionDataContractAttribute)array[0];
1688 if (collectionContractAttribute.IsNameSetExplicitly)
1689 {
1691 if (text == null || text.Length == 0)
1692 {
1693 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractName, GetClrTypeFullName(type))));
1694 }
1695 if (type.IsGenericType && !type.IsGenericTypeDefinition)
1696 {
1698 }
1700 }
1701 else
1702 {
1704 }
1705 if (collectionContractAttribute.IsNamespaceSetExplicitly)
1706 {
1708 if (text2 == null)
1709 {
1710 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractNamespace, GetClrTypeFullName(type))));
1711 }
1713 }
1714 else
1715 {
1717 }
1718 }
1719 else
1720 {
1722 string text3 = "ArrayOf" + GetArrayPrefix(ref itemType);
1724 text = text3 + stableName.Name;
1726 }
1728 }
static string EncodeLocalName(string localName)
static void CheckExplicitDataContractNamespaceUri(string dataContractNs, Type type)
static string GetDefaultDataContractNamespace(Type type)
static string GetCollectionNamespace(string elementNs)
static string ExpandGenericParameters(string format, Type type)
static string GetDefaultStableLocalName(Type type)
static string GetClrTypeFullName(Type type)
static string GetArrayPrefix(ref Type itemType)
static XmlQualifiedName CreateQualifiedName(string localName, string ns)
static XmlQualifiedName GetStableName(Type type)
static string InvalidCollectionContractName
Definition SR.cs:126
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InvalidCollectionContractNamespace
Definition SR.cs:128
Definition SR.cs:7

References System.array, System.Runtime.Serialization.DataContract.CheckExplicitDataContractNamespaceUri(), System.Runtime.Serialization.DataContract.CreateQualifiedName(), System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.DataContract.EncodeLocalName(), System.Runtime.Serialization.DataContract.ExpandGenericParameters(), System.SR.Format(), System.Runtime.Serialization.DataContract.GetArrayPrefix(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.Runtime.Serialization.DataContract.GetCollectionNamespace(), System.Runtime.Serialization.DataContract.GetDefaultDataContractNamespace(), System.Runtime.Serialization.DataContract.GetDefaultStableLocalName(), System.Runtime.Serialization.DataContract.GetStableName(), System.SR.InvalidCollectionContractName, System.SR.InvalidCollectionContractNamespace, System.text, System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), System.type, and System.Runtime.Serialization.Globals.TypeOfCollectionDataContractAttribute.

Referenced by System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper.CollectionDataContractCriticalHelper(), System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper.CollectionDataContractCriticalHelper(), System.Runtime.Serialization.DataContract.GetNonDCTypeStableName(), and System.Runtime.Serialization.DataContract.TryGetBuiltInXmlAndArrayTypeStableName().