В настройке с Visual Studio 2012 Update 2 и ReSharper 7.1.1 этот файл Annotations.cs
генерируется при создании новых проектов. Я не могу найти статью, описывающую, почему ReSharper делает это, и если это можно отключить. Я думаю о ReSharper как об улучшении IDE - и я не ожидаю, что ReSharper добавит файлы мои проекты за моей спиной.ReSharper создает этот файл: Annotations.cs. Зачем?
ответ
Этот файл содержит определения для аннотаций кода ReSharper.
Проверка кода и многие другие функции ReSharper в значительной степени основаны на эвристическом анализе исходного кода, чтобы выявлять проблемы, предлагать возможные улучшения и помогать вам другими способами.
Однако эвристический анализ не может обнаружить все. Например, если метод предназначен для того, чтобы никогда не возвращать значение null, и его клиенты сконструированы соответствующим образом, никакой эвристический анализ не поможет найти возможную проблему, если кто-то изменил метод на возврат null.
В этом и многих других случаях аннотированная структура очень помогает. Используя атрибуты, объявленные в этом контексте можно сделать ReSharper анализировать код так, как вам это нужно:
[NotNull]
public object Foo()
{
return null; // Warning: Possible 'null' assignment
}
Это является простейшим примером, есть и другие полезные свойства с более сложными случаями использования в аннотированному Framework , Вы можете найти полный список этих атрибутов в Справочнике.
Для получения дополнительной информации см. http://www.jetbrains.com/resharper/webhelp/Code_Analysis__Code_Annotations.html.
Этот файл поддерживает аннотации Resharper (такие атрибуты, как '[NotNull]' или '[Pure]'), которые предоставляют дополнительную информацию о коде для анализа кода. Если вам это не нужно, вы можете удалить его, это не должно вызывать никаких проблем (если вы не используете эти аннотации, конечно). –
Я получаю этот файл всегда, если я реализую INotiyPropertyChanged-Interface. Если я создам его, то у меня есть intellisense в PropertyChanged-Event – Tomtom