Как я могу десериализовать строку с учетом регистра? Похоже, что сериализация чувствительна к регистру, какой смысл в десериализации, не чувствительны к регистру ??
![enter image description here](https://i.stack.imgur.com/DAZLg.png)
ОБНОВЛЕНИЕ : пытаясь определить, где и что происходит, я настроил отладчик для загрузки символов и вошел в код FCL .NET. Я застрял рядом с этим кодом (строки DbConnectionOptions.cs 873-921):
private static NameValuePair ParseInternal(Hashtable parsetable, string connectionString, bool buildChain, Hashtable synonyms, bool firstKey) {
Debug.Assert(null != connectionString, "null connectionstring");
StringBuilder buffer = new StringBuilder();
NameValuePair localKeychain = null, keychain = null;
int nextStartPosition = 0;
int endPosition = connectionString.Length;
while (nextStartPosition < endPosition) {
int startPosition = nextStartPosition;
string keyname, keyvalue;
nextStartPosition = GetKeyValuePair(connectionString, startPosition, buffer, firstKey, out keyname, out keyvalue);
if (ADP.IsEmpty(keyname)) {
// if (nextStartPosition != endPosition) { throw; }
break;
}
string realkeyname = ((null != synonyms) ? (string)synonyms[keyname] : keyname);
if (!IsKeyNameValid(realkeyname)) {
throw ADP.KeywordNotSupported(keyname);
}
Модификация происходит где-то внутри цикла while, который ищет другую пару ключ / значение в каждой итерации. К сожалению, я не могу добавить наблюдение к переменным keyname и realkeyname. Полагаю, здесь также важны синонимы Hashtable.
- как я могу увидеть эти значения переменных?
- что мне делать дальше, чтобы наконец найти точное место модификации?