diff --git a/ICSharpCode.CodeConverter/VB/NodesVisitor.cs b/ICSharpCode.CodeConverter/VB/NodesVisitor.cs index aebd36aec..c29d55c01 100644 --- a/ICSharpCode.CodeConverter/VB/NodesVisitor.cs +++ b/ICSharpCode.CodeConverter/VB/NodesVisitor.cs @@ -263,7 +263,8 @@ public override VisualBasicSyntaxNode VisitInterfaceDeclaration(CSS.InterfaceDec public override VisualBasicSyntaxNode VisitEnumDeclaration(CSS.EnumDeclarationSyntax node) { var members = node.Members.Select(m => (StatementSyntax)m.Accept(TriviaConvertingVisitor)); - var baseType = (TypeSyntax)node.BaseList?.Types.Single().Accept(TriviaConvertingVisitor); + var baseType = (TypeSyntax)node.BaseList? + .Types.OfType().Single().Type.Accept(TriviaConvertingVisitor); return SyntaxFactory.EnumBlock( SyntaxFactory.EnumStatement( SyntaxFactory.List(node.AttributeLists.Select(a => (AttributeListSyntax)a.Accept(TriviaConvertingVisitor))), CommonConversions.ConvertModifiers(node.Modifiers), CommonConversions.ConvertIdentifier(node.Identifier), diff --git a/Tests/VB/NamespaceLevelTests.cs b/Tests/VB/NamespaceLevelTests.cs index 66e283c28..7ef3545a8 100644 --- a/Tests/VB/NamespaceLevelTests.cs +++ b/Tests/VB/NamespaceLevelTests.cs @@ -144,6 +144,18 @@ public void TestEnum() End Enum"); } + [Fact] + public void TestEnumWithExplicitBaseType() + { + TestConversionCSharpToVisualBasic( + @"public enum ExceptionResource : byte +{ + Argument_ImplementIComparable +}", @"Public Enum ExceptionResource As Byte + Argument_ImplementIComparable +End Enum"); + } + [Fact] public void TestClassInheritanceList() {