BrightIdeasSoftware MungerException
У меня есть два приложения A и B, которые вызывают одну и ту же dll (C), в этом (C) у меня есть UC (E), который использует другой UC (D) в качестве всплывающего окна, где находится просмотр списка объектов,
Когда я использую E в A, все в порядке. Когда я использую E в B, когда E вызывает D, у меня есть исключение BrightIdeasSoftware.MungerException (см. Изображение ниже), оно говорит "попытаться получить доступ к неопределенному методу"
4 ответа
Это происходит, когда объекты Model вы назначаете списку, т.е. ListView.SetObjects()
не реализует свойство или метод, который столбец AspectNames
также установлены или эти свойства / методы объявлены закрытыми.
Уверен, что AspectName
свойства в ваших столбцах списка объектов соответствуют свойствам ваших объектов, и эти свойства объявлены общедоступными.
Спасибо за ответы.
Итак, наконец, проблема решена, но я не знал, почему и как? так вот что получается:
Во-первых, перед тем, как опубликовать мой вопрос, я готов проверить, что мои свойства общедоступны и соответствуют столбцам AspectNames. Так как я не понимал источник проблемы и мне нужно было идти вперед, я установил инструмент dotnetbar2, чтобы заменить список объектов в listlistview.
Сразу после установки инструмента моя визуальная студия "скончалась", нет возможности просматривать коды, у меня просто черный экран, я сошел с ума, я не понял, что происходит, поэтому я решил удалить инструмент devnotbar2 и использовать классический вид списка MS Framework. Но случается странно, что моя проблема с Objectlistview исчезла, я что-то изменил в своем коде, но больше нет исключений Munger.
У кого-нибудь есть объяснение того, что происходит? И как установка и удаление инструмента могут что-то изменить? И почему моя визуальная студия сошла с ума после установки dotnetbar? Это очень полезный инструмент, и я хочу его использовать, но боюсь, что он снова создаст проблемы.
Вы проверили, все ли свойства вашего объекта установлены как общедоступные? Смотрите эту ссылку: Исключение при добавлении списка в ObjectListView
Самый простой способ выяснить, какое свойство/аспект вызывает это:
- Включите исключения общеязыковой среды выполнения в настройках исключений.
- Поставьте здесь две точки останова. MungerException происходит во второй точке останова. Штырь
this.AspectName
переменную и посмотреть, достигает ли она второй точки останова или нет.