У меня есть приложение, которое читает таблицу из базы данных.
Я выдаю SQL-запрос для получения набора результатов, основываясь на уникальном строковом значении, которое я получаю из результатов, и использую оператор case / switch для генерации определенных объектов (они наследуют TreeNode BTW). Эти созданные объекты шунтируются в объект Dictionary, который будет использоваться позже.
При создании этих объектов я использую некоторые значения из результирующего набора для заполнения значений в объекте через установщики.
Я запрашиваю в словаре возвращаемый объект определенного типа и использую его для заполнения древовидной структуры. Однако невозможно заполнить 2 объекта одного и того же типа в древовидной структуре из объекта Dictionary (вы получаете ошибку времени выполнения, которая в настоящий момент ускользает от меня, что-то вроде ссылки на один и тот же объект). Поэтому мне нужно использовать memberwiseClone и реализовать IClonable, чтобы обойти это.
Я правильно делаю? Есть ли лучший способ - потому что я думаю, что это заставляет мою программу быть очень медленной в этот момент. По крайней мере, я думаю, что это немного неуклюже - любые советы от людей, которые знают больше меня - очень ценятся.