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

◆ StringBuilder() [7/9]

System.Text.StringBuilder.StringBuilder ( SerializationInfo info,
StreamingContext context )
inlineprivate

Definition at line 605 of file StringBuilder.cs.

606 {
607 if (info == null)
608 {
609 throw new ArgumentNullException("info");
610 }
611 int num = 0;
612 string text = null;
613 int num2 = int.MaxValue;
614 bool flag = false;
616 while (enumerator.MoveNext())
617 {
618 switch (enumerator.Name)
619 {
620 case "m_MaxCapacity":
621 num2 = info.GetInt32("m_MaxCapacity");
622 break;
623 case "m_StringValue":
624 text = info.GetString("m_StringValue");
625 break;
626 case "Capacity":
627 num = info.GetInt32("Capacity");
628 flag = true;
629 break;
630 }
631 }
632 if (text == null)
633 {
634 text = string.Empty;
635 }
637 {
638 throw new SerializationException(SR.Serialization_StringBuilderMaxCapacity);
639 }
640 if (!flag)
641 {
642 num = Math.Min(Math.Max(16, text.Length), num2);
643 }
644 if (num < 0 || num < text.Length || num > num2)
645 {
646 throw new SerializationException(SR.Serialization_StringBuilderCapacity);
647 }
649 m_ChunkChars = GC.AllocateUninitializedArray<char>(num);
650 text.CopyTo(0, m_ChunkChars, 0, text.Length);
651 m_ChunkLength = text.Length;
652 }

References System.Runtime.Serialization.Dictionary, System.Collections.Generic.Dictionary< TKey, TValue >.GetEnumerator(), System.info, System.Text.StringBuilder.m_ChunkChars, System.Text.StringBuilder.m_ChunkLength, System.Text.StringBuilder.m_MaxCapacity, System.Math.Max(), System.Math.Min(), System.SR.Serialization_StringBuilderCapacity, System.SR.Serialization_StringBuilderMaxCapacity, and System.text.