Если Вы имеете в виду это:
public static void OnEventSeven(DivBySevenEventArgs e)
{
if(EventSeven!=null)
EventSeven(new object(),e);
}
часть кода, тогда ответ:
, Если никто не подписывается на обработчик событий "EventSeven" тогда, Вы получите исключение нулевой ссылки на "EventSeven (новый объект (), e)";
И правило:
подписчик ответственен за добавление обработчика (+ =) и удаление его (-=), когда он не хочет получать события больше. Сборка "мусора" идет правилами по умолчанию, если на объект больше не ссылаются, это может быть убрано.
Ребята из команды VS посмотрели на меня и обнаружили проблему с intellisense. Вот их описание:
«Похоже, что оба файла, которые вы мне дали, содержат часть статического частичного класса EntityPropertyDescriptors, и я предполагаю, что все остальные из 500 файлов тоже. Что происходит, так это то, когда мы создаем наш кеш IntelliSense, каждый раз, когда мы анализируем один из этих файлов, мы видим, что в нем есть статический класс, и решаем проверить, есть ли у этого статического класса какие-либо методы расширения. Чтобы найти Расширения, мы просматриваем каждый метод в каждой части, чтобы увидеть, является ли он методом расширения.Это заставляет нас повторно анализировать каждый файл , чтобы увидеть, есть ли у типа какие-либо методы расширения. "
Они обнаружили аналогичную проблему с VS2010, но сейчас исправляют ее. К сожалению, они не собираются исправлять это в VS2008, поэтому у нас остается обходной путь - поместить все частичные классы в один файл. Они все еще могут быть частичными, но они должны находиться в одном физическом файле, чтобы обойти проблему.
После объединения всех частичных классов в один файл время загрузки этого проблемного проекта составляет от 30 минут до примерно 10 секунд.
Большое спасибо Эрику Липперту и Кевину Пилч-Биссону за помощь мне в этом.
Вам необходимо отключить фоновую компиляцию.
Вот как это сделать:
http://ira.me.uk/2008/09/01/switch-offon-visual -studio-2008-background-compilation /
Инструменты -> Параметры -> Текстовый редактор -> C # -> Дополнительно -> Показывать живые семантические ошибки
Вы по-прежнему будете получать подчеркивание ошибки, но вы должны нажать кнопку «Создать» перед они появляются.
В инструментах> параметры> Текстовый редактор> C # есть раздел Intellisense, который выглядит вроде делает то, что вы хотите.
Вы пытались очистить свое решение от всех временных файлов, созданных Visual Studio? Иногда эти файлы могут быть повреждены, особенно если вы перешли с VS 2005.
Закройте решение, найдите все файлы * .suo и * .ncb, удалите / переименуйте их, а затем снова откройте решение.
И еще кое-что, на что нужно убедиться: установлены ли сторонние надстройки? Попробуйте запустить VS в SafeMode с помощью параметра командной строки / SafeMode
.