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

◆ ExpandGenericParameters() [1/2]

static string System.Runtime.Serialization.DataContract.ExpandGenericParameters ( string format,
IGenericNameProvider genericNameProvider )
inlinestaticpackageinherited

Definition at line 2202 of file DataContract.cs.

2203 {
2204 string text = null;
2206 IList<int> nestedParameterCounts = genericNameProvider.GetNestedParameterCounts();
2207 for (int i = 0; i < format.Length; i++)
2208 {
2209 char c = format[i];
2210 if (c == '{')
2211 {
2212 i++;
2213 int num = i;
2214 for (; i < format.Length && format[i] != '}'; i++)
2215 {
2216 }
2217 if (i == format.Length)
2218 {
2219 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.GenericNameBraceMismatch, format, genericNameProvider.GetGenericTypeName())));
2220 }
2221 if (format[num] == '#' && i == num + 1)
2222 {
2223 if (nestedParameterCounts.Count <= 1 && genericNameProvider.ParametersFromBuiltInNamespaces)
2224 {
2225 continue;
2226 }
2227 if (text == null)
2228 {
2230 foreach (int item in nestedParameterCounts)
2231 {
2232 stringBuilder2.Insert(0, item.ToString(CultureInfo.InvariantCulture)).Insert(0, " ");
2233 }
2235 }
2236 stringBuilder.Append(text);
2237 }
2238 else
2239 {
2240 if (!int.TryParse(format.AsSpan(num, i - num), out var result) || result < 0 || result >= genericNameProvider.GetParameterCount())
2241 {
2242 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.GenericParameterNotValid, format.Substring(num, i - num), genericNameProvider.GetGenericTypeName(), genericNameProvider.GetParameterCount() - 1)));
2243 }
2244 stringBuilder.Append(genericNameProvider.GetParameterName(result));
2245 }
2246 }
2247 else
2248 {
2249 stringBuilder.Append(c);
2250 }
2251 }
2252 return stringBuilder.ToString();
2253 }
static CultureInfo InvariantCulture
static string GetNamespacesDigest(string namespaces)
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string GenericNameBraceMismatch
Definition SR.cs:112
static string GenericParameterNotValid
Definition SR.cs:114
Definition SR.cs:7

References System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Runtime.Serialization.Dictionary, System.SR.Format(), System.format, System.SR.GenericNameBraceMismatch, System.SR.GenericParameterNotValid, System.Runtime.Serialization.DataContract.GetNamespacesDigest(), System.Text.RegularExpressions.i, System.Globalization.CultureInfo.InvariantCulture, System.item, System.text, and System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError().