У меня большая проблема с Roslyn.NET CTP и семантическим анализом моего кода.
Моя задача: получить classdeclaration и его унаследованный тип.
Например:
Класс: Изменить: ChangePassword
Я должен написать в консоли: имя типа «ChangePassword».
Как я могу это сделать? В отражении очень просто: (это общий тип):Семантический анализ Roslyn
foreach (Type t in types)
{
if (t.BaseType.IsGenericType)
{
Type[] typeArguments = t.BaseType.GetGenericArguments();
foreach (Type tParam in typeArguments)
{
typesList.Add(tParam.Name);
typesListProperties = tParam.GetProperties();
foreach (var p in typesListProperties)
typesListPropertiesList.Add(p.Name);
}
}
}
Но для меня моя проблема требует использования roslyn. Моя идея - использовать semanticModel.GetTypeInfo или GetSymbolInfo, но ни один из них не принимает параметр SyntaxNode!
Моя декларация класса реальность такова:
public partial class Example : System.Web.Mvc.WebViewPage<ExampleModel>
для этого примера я должен добавить к List<string>
"ExampleModel".