В настоящее время я работаю над проектом, который создает словарь с индексом int экземпляра и комплексным типом в качестве значения.Поскольку это огромный школьный проект, я не хочу публиковать тонну кода, так как у меня логическая проблема, а не «мне нужен код».Я постараюсь быть максимально ясным, и если есть что-то, что мне нужно объяснить лучше, пожалуйста, дайте мне знать.
Прежде всего.У меня на сервере есть словарь:
private Dictionary<int,List<complexType>> dictName = new Dictionary<int,List<complexType>>
Каждый раз, когда клиент запускается, он регистрируется в словаре (я создаю пустой сложный тип, чтобы создать его экземпляр, затем загружаю словарь):
List<complexType> temp = null;
dictName.Add(id,temp)
Затем, когда приходит время, которое я хочу добавить в список для конкретного экземпляра, я делаю это:
complexType myItem = new complexType();
dictName[id].Add(myItem);
Когда я запускаю этот код, я получаю сообщение об ошибке, когда второй клиент пытается запустить:
"Произошло необработанное исключение типа 'System.Reflection.TargetInvocationException' в mscorlib.dll. Дополнительная информация: Исключение было вызвано целью вызова.
Теперь это происходит, когда второй пользователь нажимает: dictName.Add(id,temp)
из первой части.
Если я изменяю экземпляр temp на List<complexType> temp = new List<complexType>();
, тогда он проходит это место, но я получаюта же ошибка снова при обновлении клиентов.
В настоящее время я использую этот способ передачи данных с помощью int и string (словаря), и они работают нормально, но когда я добавил в список комплексавведите в словарь я получил вышеупомянутую ошибку.
Если у кого-то есть какие-либо предложения, я был бы очень признателен.Я надеюсь, что это как-то связано с моей первоначальной загрузкой пустого списка.Если есть что-то, что вам нужно знать, пожалуйста, спросите спасибо!