Я в растерянности.У меня есть объект Dictionary с ключами String.Объекты имеют пользовательский тип, который у меня есть.В этом примере генерируется исключение InvalidCastException:
MyObject temp;
if(Dict.TryGetValue("abc", out temp)) //exception
Если я вместо этого использую «ContainsKey», я все равно получаю исключение InvalidCastException:
if(Dict.ContainsKey("abc")) //exception
В обоих случаях, если я помещаю часы в Dict [«abc»], я получаю желаемое значение из словаря.Сведения об исключении не предоставляют никакой дополнительной информации.
Я попытался собрать небольшой пример кода, который повторяет эту ситуацию, но мои примеры кода работают отлично.Я не знаю, как предоставить пример кода для этой проблемы.
Почему я должен получить InvalidCastException при проверке на наличие ключа в словаре?Зачем ContainsKey вообще нужно выполнять кастинг в своей реализации?Как мне это исправить?