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

◆ TryParse()

static bool System.Net.Mail.MailAddress.TryParse ( string address,
string displayName,
Encoding displayNameEncoding,
out(string displayName, string user, string host, Encoding displayNameEncoding) parsedData,
bool throwExceptionIfFail )
inlinestaticprivate

Definition at line 76 of file MailAddress.cs.

77 {
78 if (string.IsNullOrEmpty(address))
79 {
80 if (throwExceptionIfFail)
81 {
82 throw (address == null) ? new ArgumentNullException("address") : new ArgumentException(System.SR.Format(System.SR.net_emptystringcall, "address"), "address");
83 }
84 parsedData = default((string, string, string, Encoding));
85 return false;
86 }
87 if (displayNameEncoding == null)
88 {
89 displayNameEncoding = Encoding.GetEncoding("utf-8");
90 }
91 if (displayName == null)
92 {
93 displayName = string.Empty;
94 }
95 if (!string.IsNullOrEmpty(displayName))
96 {
97 if (!MailAddressParser.TryNormalizeOrThrow(displayName, out displayName, throwExceptionIfFail))
98 {
99 parsedData = default((string, string, string, Encoding));
100 return false;
101 }
102 if (displayName.Length >= 2 && displayName[0] == '"' && displayName[^1] == '"')
103 {
104 displayName = displayName.Substring(1, displayName.Length - 2);
105 }
106 }
107 if (!MailAddressParser.TryParseAddress(address, out var parsedAddress, throwExceptionIfFail))
108 {
109 parsedData = default((string, string, string, Encoding));
110 return false;
111 }
112 if (string.IsNullOrEmpty(displayName))
113 {
114 displayName = parsedAddress.DisplayName;
115 }
116 parsedData = (displayName: displayName, user: parsedAddress.User, host: parsedAddress.Host, displayNameEncoding: displayNameEncoding);
117 return true;
118 }
static Encoding GetEncoding(int codepage)
Definition Encoding.cs:593

References System.SR.Format(), System.Text.Encoding.GetEncoding(), System.SR.net_emptystringcall, System.Net.Mail.MailAddressParser.TryNormalizeOrThrow(), and System.Net.Mail.MailAddressParser.TryParseAddress().

Referenced by System.Net.Mail.MailAddress.MailAddress(), and System.Net.Mail.MailAddress.TryCreate().