Найдите все производные классы в генераторе исходного кода.C#

Место общения программистов C#
Anonymous
Найдите все производные классы в генераторе исходного кода.

Сообщение Anonymous »

Моему генератору исходного кода необходимо найти другие классы, производные от проверяемого класса, чтобы узнать, нужно ли добавлять специальный код. До сих пор я проверял только класс на предмет его расширения и следовал оттуда ссылкам, таким как тип свойств класса, но не любым другим классам, которые также существуют в проекте, который использует генератор исходного кода. Кажется, я не могу найти для этого никаких методов, интерфейсов или веб-документации. Возможно ли это вообще и как это будет работать?
Я ищу что-то вроде этого:
public static IEnumerable GetDerivedTypes(this ITypeSymbol typeSymbol)
{
// TODO: Find all available classes,
// then I can proceed with inheritance checks and further tests
// Following is made-up code:
var derivedTypeNames = typeSymbol.ContainingAssembly.AllTypes
.Where(t => t.IsDerivedFrom(typeSymbol))
.Select(t => t.Name);
return derivedTypeNames;
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... -generator

Вернуться в «C#»