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

◆ Init()

void System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper.Init ( CollectionKind kind,
Type itemType,
CollectionDataContractAttribute collectionContractAttribute )
inlineprivate

Definition at line 329 of file CollectionDataContract.cs.

330 {
331 _kind = kind;
332 if (itemType != null)
333 {
335 _isItemTypeNullable = DataContract.IsTypeNullable(itemType);
336 bool flag = kind == CollectionKind.Dictionary || kind == CollectionKind.GenericDictionary;
337 string text = null;
338 string text2 = null;
339 string text3 = null;
340 if (collectionContractAttribute != null)
341 {
342 if (collectionContractAttribute.IsItemNameSetExplicitly)
343 {
344 if (collectionContractAttribute.ItemName == null || collectionContractAttribute.ItemName.Length == 0)
345 {
346 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractItemName, DataContract.GetClrTypeFullName(base.UnderlyingType))));
347 }
348 text = DataContract.EncodeLocalName(collectionContractAttribute.ItemName);
350 }
351 if (collectionContractAttribute.IsKeyNameSetExplicitly)
352 {
353 if (collectionContractAttribute.KeyName == null || collectionContractAttribute.KeyName.Length == 0)
354 {
355 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractKeyName, DataContract.GetClrTypeFullName(base.UnderlyingType))));
356 }
357 if (!flag)
358 {
359 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractKeyNoDictionary, DataContract.GetClrTypeFullName(base.UnderlyingType), collectionContractAttribute.KeyName)));
360 }
361 text2 = DataContract.EncodeLocalName(collectionContractAttribute.KeyName);
362 }
363 if (collectionContractAttribute.IsValueNameSetExplicitly)
364 {
365 if (collectionContractAttribute.ValueName == null || collectionContractAttribute.ValueName.Length == 0)
366 {
367 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractValueName, DataContract.GetClrTypeFullName(base.UnderlyingType))));
368 }
369 if (!flag)
370 {
371 throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(System.SR.Format(System.SR.InvalidCollectionContractValueNoDictionary, DataContract.GetClrTypeFullName(base.UnderlyingType), collectionContractAttribute.ValueName)));
372 }
373 text3 = DataContract.EncodeLocalName(collectionContractAttribute.ValueName);
374 }
375 }
377 base.Name = xmlDictionary.Add(base.StableName.Name);
378 base.Namespace = xmlDictionary.Add(base.StableName.Namespace);
379 _itemName = text ?? DataContract.GetStableName(DataContract.UnwrapNullableType(itemType)).Name;
381 if (flag)
382 {
383 _keyName = text2 ?? "Key";
384 _valueName = text3 ?? "Value";
385 }
386 }
387 if (collectionContractAttribute != null)
388 {
390 }
391 }
void Add(TKey key, TValue value)
DataContract(DataContractCriticalHelper helper)
static string InvalidCollectionContractKeyNoDictionary
Definition SR.cs:124
static string InvalidCollectionContractValueName
Definition SR.cs:130
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string InvalidCollectionContractKeyName
Definition SR.cs:122
static string InvalidCollectionContractItemName
Definition SR.cs:120
static string InvalidCollectionContractValueNoDictionary
Definition SR.cs:132
Definition SR.cs:7

References System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._collectionItemName, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._isItemTypeNullable, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._itemName, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._itemNameSetExplicit, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._itemType, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._keyName, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._kind, System.Runtime.Serialization.CollectionDataContract.CollectionDataContractCriticalHelper._valueName, System.Collections.Generic.Dictionary< TKey, TValue >.Add(), System.Runtime.Serialization.Dictionary, System.Runtime.Serialization.DataContract.EncodeLocalName(), System.SR.Format(), System.Runtime.Serialization.DataContract.GetClrTypeFullName(), System.Runtime.Serialization.DataContract.GetStableName(), System.SR.InvalidCollectionContractItemName, System.SR.InvalidCollectionContractKeyName, System.SR.InvalidCollectionContractKeyNoDictionary, System.SR.InvalidCollectionContractValueName, System.SR.InvalidCollectionContractValueNoDictionary, System.Runtime.Serialization.DataContract.IsTypeNullable(), System.Runtime.Serialization.DataContract.DataContractCriticalHelper.Name, System.text, System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(), and System.Runtime.Serialization.DataContract.UnwrapNullableType().

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