Есть два основных подхода:
1) Разбор всего решения и всего, на что оно ссылается, чтобы вы понимали все типы, включенные в код
2) Локальный анализ и постарайтесь угадать, какие типы и т. Д.
Проблема с (2) состоит в том, что вам нужно угадать, и в некоторых случаях вы просто не можете сказать из фрагмента кода, что именно это такое. Но если вас устраивает подсветка синтаксиса sort oif, показанная (например, при переполнении стека), тогда этот подход прост и довольно эффективен.
Чтобы сделать (1), вам нужно выполнить одно из (в порядке убывания сложности):
- Разобрать весь исходный код. Невозможно, если вы ссылаетесь на сторонние сборки.
- Используйте отражение в скомпилированном коде для сбора информации о типе, которую вы можете использовать при разборе источника.
- Используйте интерфейсы элементов кода хоста IDE (если они доступны - поэтому не применимы в вашем случае!) Для предоставления необходимой информации