Обычно, когда Вы вызываете виртуальную функцию через висячий указатель - скорее всего, экземпляр был уже уничтожен.
могут быть более "творческие" причины, также: возможно, Вам удалось отрезать часть Вашего объекта, где виртуальная функция была реализована. Но обычно это просто, что экземпляр был уже уничтожен.
В Visual Studio выберите Инструменты
> Параметры
> Текстовый редактор
> C #
> Дополнительно
Снимите флажок Перейти в режим выделения при открытии файлов
Инструменты -> Параметры -> Текстовый редактор -> C # -> Дополнительно -> Структура.
Для VS2008: Инструменты - Параметры - Текстовый редактор - C / C ++ - Форматирование - Переход в режим выделения при открытии файлов.