Прежде всего, не существует такой вещи, как файл .cs, в котором определяется класс. Класс может быть помечен как частичный, а части могут быть определены в нескольких файлах .cs.
Когда вы компилируете с отладочной информацией, имена файлов для каждого метода остаются в сборке (для каждой строки исходного файла помечаются соответствующие команды IL).
К сожалению, я не знаю простого способа получить эту информацию из запущенного приложения (без анализа файла сборки вручную).
Если вы безопасно вызываете метод, вы можете вызвать его и параллельно построить трассировку стека (из другого потока) - в объекте StackFrame вы найдете исходное имя файла. Но это медленно (так как вы должны вызывать каждый метод только для того, чтобы найти другое имя файла) и рискованно (что если метод форматирует ваш жесткий диск?).
Итак, единственный путь, которым вы могли бы воспользоваться, - это попытаться проанализировать файл .cs с помощью самого анализатора, такого как AntLR.