Контекст:
В среде, в которой я работаю, есть много методов и полей 'magi c', которые вызываются или задаются посредством отражения от внешнего кода. У чего-то может быть атрибут, который означает, что ему будет присвоено значение не по умолчанию, но Visual Studio по-прежнему не видит этот аспект и «услужливо» выдает предупреждение.
Так как они обрабатываются с использованием атрибутов и специально именованные методы, в идеале я хотел бы предоставить VS дополнительную информацию, чтобы он знал, что он вызывается или установлен, без необходимости вручную подавлять каждое предупреждение.
Я изучал написание анализатора Roslyn, но из того, что я могу сказать, я могу только добавлять дополнительные предупреждения, но не изменять существующие предупреждения / счетчик ссылок.
Примеры:
[MyCmpGet] private Component comp
" Поле никогда не назначается и всегда будет иметь значение по умолчанию null "
Однако поле назначается путем отражения из-за аннотации.
[HarmonyPatch]
class Patch
{
static void Postfix() {}
}
" Закрытый элемент не используется "
«0 ссылок»
Однако метод вызывается с помощью отражения из-за аннотации к классу и метода с указанным c именем.
Вопрос:
Каков наилучший способ сообщить Visual Studio, что эти поля устанавливаются и на эти методы ссылаются? Желательно, не требуя от меня выполнения ручных действий для каждого, и не добавляя ничего дополнительного к коду примера.