2014-02-17 4 views
1

Нужно добавить унаследовать некоторый интерфейс с помощью roslyn.
я описать класс, но не знаю, как установить унаследовать в следующих структурах:Как работать с BaseListSyntax, Roslyn

ClassDeclarationSyntax lClassDeclarationSyntax = 
Syntax.ClassDeclaration(
        Syntax.List<AttributeListSyntax>(lAttributeListSyntax), 
        Syntax.TokenList(lTokens), 
        Syntax.Identifier(_classInfo.Identifier.ValueText), 
        null, 
        null,--------- 
        Syntax.List<TypeParameterConstraintClauseSyntax>(), 
        Syntax.List<MemberDeclarationSyntax>(lMemberDeclarationSyntaxList)); 

Изолированные «нулевой» это место для списка атрибутов по типу BaseListSyntax, где я могу указать имя унаследованный интерфейс.
Как я могу это сделать?

ответ

3

Используйте что-то наподобие: Syntax.BaseList(Syntax.ParseTypeName("MyBaseType") вместо null выше.

+0

Ошибка: не удается преобразовать из 'Roslyn.Compilers.CSharp.TypeSyntax' в 'Roslyn.Compilers.CSharp.SeparatedSyntaxList ' – Imorian

+0

создать список 'SeparatedSyntaxList lSeparatedSyntaxList = новый SeparatedSyntaxList () ; 'и затем добавить необходимый элемент' TypeSyntax type = Syntax.ParseTypeName («MyInterface»); lSeparatedSyntaxList.Add (type); 'но список emty, кто знает почему? – Imorian

+2

SeparatedSyntaxList неизменен, поэтому вызов для добавления возвращает новый список с элементом item.aded. Он не добавляет его на место. –

Смежные вопросы