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

◆ FrameworkName() [3/3]

System.Runtime.Versioning.FrameworkName.FrameworkName ( string frameworkName)
inline

Definition at line 86 of file FrameworkName.cs.

87 {
88 if (frameworkName == null)
89 {
90 throw new ArgumentNullException("frameworkName");
91 }
92 if (frameworkName.Length == 0)
93 {
94 throw new ArgumentException(SR.Format(SR.net_emptystringcall, "frameworkName"), "frameworkName");
95 }
96 string[] array = frameworkName.Split(',');
97 if (array.Length < 2 || array.Length > 3)
98 {
99 throw new ArgumentException(SR.Argument_FrameworkNameTooShort, "frameworkName");
100 }
101 _identifier = array[0].Trim();
102 if (_identifier.Length == 0)
103 {
104 throw new ArgumentException(SR.Argument_FrameworkNameInvalid, "frameworkName");
105 }
106 bool flag = false;
107 _profile = string.Empty;
108 for (int i = 1; i < array.Length; i++)
109 {
110 string text = array[i];
111 int num = text.IndexOf('=');
112 if (num == -1 || num != text.LastIndexOf('='))
113 {
114 throw new ArgumentException(SR.Argument_FrameworkNameInvalid, "frameworkName");
115 }
116 ReadOnlySpan<char> span = text.AsSpan(0, num).Trim();
117 ReadOnlySpan<char> input = text.AsSpan(num + 1).Trim();
118 if (MemoryExtensions.Equals(span, "Version", StringComparison.OrdinalIgnoreCase))
119 {
120 flag = true;
121 if (input.Length > 0 && (input[0] == 'v' || input[0] == 'V'))
122 {
123 input = input.Slice(1);
124 }
125 try
126 {
128 }
129 catch (Exception innerException)
130 {
131 throw new ArgumentException(SR.Argument_FrameworkNameInvalidVersion, "frameworkName", innerException);
132 }
133 }
134 else
135 {
136 if (!MemoryExtensions.Equals(span, "Profile", StringComparison.OrdinalIgnoreCase))
137 {
138 throw new ArgumentException(SR.Argument_FrameworkNameInvalid, "frameworkName");
139 }
140 if (input.Length > 0)
141 {
142 _profile = input.ToString();
143 }
144 }
145 }
146 if (!flag)
147 {
148 throw new ArgumentException(SR.Argument_FrameworkNameMissingVersion, "frameworkName");
149 }
150 }
static Version Parse(string input)
Definition Version.cs:310

References System.Runtime.Versioning.FrameworkName._identifier, System.Runtime.Versioning.FrameworkName._profile, System.Runtime.Versioning.FrameworkName._version, System.SR.Argument_FrameworkNameInvalid, System.SR.Argument_FrameworkNameInvalidVersion, System.SR.Argument_FrameworkNameMissingVersion, System.SR.Argument_FrameworkNameTooShort, System.array, System.MemoryExtensions.Equals(), System.SR.Format(), System.input, System.SR.net_emptystringcall, System.Version.Parse(), and System.text.