135 while (0 < num &&
char.IsWhiteSpace(
buffer[num - 1]))
139 return buffer.ToString(0, num).ToLowerInvariant();
148 for (;
i < num &&
char.IsWhiteSpace(
buffer[
i]);
i++)
151 while (0 < num &&
char.IsWhiteSpace(
buffer[num - 1]))
173 if (
';' == c ||
char.IsWhiteSpace(c))
182 if (
char.IsControl(c))
200 if (!
char.IsWhiteSpace(c) &&
char.IsControl(c))
212 if (
string.IsNullOrEmpty(
keyname))
220 if (
char.IsWhiteSpace(c))
245 if (
';' == c || c ==
'\0')
249 if (
char.IsControl(c))
256 if (!
char.IsWhiteSpace(c) && (
char.IsControl(c) ||
';' == c))
321 if (
char.IsWhiteSpace(c))
336 if (c ==
'\0' ||
char.IsWhiteSpace(c))
360 if (
string.IsNullOrEmpty(
keyname))
399 return -1 ==
keyvalue.IndexOf(
'\0');
410 return -1 ==
keyname.IndexOf(
'\0');
428 if (
string.IsNullOrEmpty(
keyname))
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
bool ContainsKey(TKey key)
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
static Exception InternalError(InternalErrorCode internalError)
static ArgumentException ConnectionStringSyntax(int index)
static ArgumentException InvalidValue(string parameterName)
static ArgumentException InvalidKeyname(string parameterName)
static void CheckArgumentNull([NotNull] object value, string parameterName)
static ArgumentException KeywordNotSupported(string keyword)
static void CheckArgumentLength(string value, string parameterName)
readonly bool _hasUserIdKeyword
static readonly Regex s_connectionStringValidValueRegex
static void AppendKeyValuePairBuilder(StringBuilder builder, string keyName, string keyValue, bool useOdbcRules)
static bool IsValueValidInternal(string keyvalue)
static NameValuePair ParseInternal(Dictionary< string, string > parsetable, string connectionString, bool buildChain, Dictionary< string, string > synonyms, bool firstKey)
static string GetKeyValue(StringBuilder buffer, bool trimWhitespace)
readonly string _usersConnectionString
DbConnectionOptions(string connectionString, Dictionary< string, string > synonyms, bool useOdbcRules)
readonly Dictionary< string, string > _parsetable
static int GetKeyValuePair(string connectionString, int currentPosition, StringBuilder buffer, bool useOdbcRules, out string keyname, out string keyvalue)
static void ValidateKeyValuePair(string keyword, string value)
static readonly Regex s_connectionStringQuoteValueRegex
readonly bool _useOdbcRules
readonly bool _hasPasswordKeyword
static readonly Regex s_connectionStringValidKeyRegex
static bool IsKeyNameValid([NotNullWhen(true)] string keyname)
readonly NameValuePair _keyChain
static string GetKeyName(StringBuilder buffer)
static readonly Regex s_connectionStringQuoteOdbcValueRegex