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

◆ GetDataContractNameForGenericName()

static List< int > System.Runtime.Serialization.DataContract.GetDataContractNameForGenericName ( string typeName,
StringBuilder localName )
inlinestaticpackageinherited

Definition at line 1860 of file DataContract.cs.

1861 {
1862 List<int> list = new List<int>();
1863 int num = 0;
1864 while (true)
1865 {
1866 int num2 = typeName.IndexOf('`', num);
1867 if (num2 < 0)
1868 {
1869 localName?.Append(typeName.AsSpan(num));
1870 list.Add(0);
1871 break;
1872 }
1873 if (localName != null)
1874 {
1875 string text = typeName.Substring(num, num2 - num);
1876 localName.Append(text.Equals("KeyValuePairAdapter") ? "KeyValuePair" : text);
1877 }
1878 while ((num = typeName.IndexOf('.', num + 1, num2 - num - 1)) >= 0)
1879 {
1880 list.Add(0);
1881 }
1882 num = typeName.IndexOf('.', num2);
1883 if (num < 0)
1884 {
1885 list.Add(int.Parse(typeName.AsSpan(num2 + 1), NumberStyles.Integer, CultureInfo.InvariantCulture));
1886 break;
1887 }
1888 list.Add(int.Parse(typeName.AsSpan(num2 + 1, num - num2 - 1), NumberStyles.Integer, CultureInfo.InvariantCulture));
1889 }
1890 localName?.Append("Of");
1891 return list;
1892 }
static CultureInfo InvariantCulture
StringBuilder Append(char value, int repeatCount)

References System.Text.StringBuilder.Append(), System.Globalization.CultureInfo.InvariantCulture, System.list, System.Xml.Parse, and System.text.

Referenced by System.Runtime.Serialization.GenericNameProvider.GenericNameProvider(), System.Runtime.Serialization.SchemaExporter.ExportGenericInfo(), System.Runtime.Serialization.DataContract.GetDefaultStableLocalName(), and System.Runtime.Serialization.DataContract.GetDefaultStableName().