Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

VB -> C#: supporting variable for WithEvents gets non-existent type in some cases

Aberta
#1,055 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
45/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
csharp
Domínio
tooling

Direção de pesquisa

Use a entrada VB.Net fornecida como reprodução e compare a saída C# incorreta com a esperada, concentrando-se na variável de suporte gerada e no tipo da propriedade para WithEvents. Rastreie como o conversor resolve a classe e o namespace quando seus nomes diferem apenas por maiúsculas e minúsculas. Está concluído quando o exemplo produzir o tipo esperado NS1.Ns1 sem quebrar os acessadores de propriedade gerados.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

compilation error VB -> C#

This happens when the names of a class and its namespace only differ in case (NS1 vs Ns1).

VB.Net input code
Imports NS1

Public Class TestNameSpaceSameNameAsClass
    Public WithEvents ins As NS1.Ns1
End Class

Namespace Global.NS1
    Public Class Ns1
    End Class
End Namespace
Erroneous output
using System.Runtime.CompilerServices;

namespace NS1
{
    public class NS1
    {
    }
}

public class TestNameSpaceSameNameAsClass
{
    private NS1 _ins; //error: this class doesn't exist

    public virtual NS1 ins
    {
        [MethodImpl(MethodImplOptions.Synchronized)]
        get
        {
            return _ins;
        }

        [MethodImpl(MethodImplOptions.Synchronized)]
        set
        {
            _ins = value;
        }
    }
}
Expected output
using System.Runtime.CompilerServices;

namespace NS1
{
    public class NS1
    {
    }
}

public class TestNameSpaceSameNameAsClass
{
    private NS1.Ns1 _ins;

    public virtual NS1.Ns1 ins
    {
        [MethodImpl(MethodImplOptions.Synchronized)]
        get
        {
            return _ins;
        }

        [MethodImpl(MethodImplOptions.Synchronized)]
        set
        {
            _ins = value;
        }
    }
}

Details
  • Product in use: VS extension
  • Version in use: ae25cdc920df68755fb233934028091c97b42853
  • Did you see it working in a previous version, which? No
  • Any other relevant information to the issue, or your interest in contributing a fix.
Linguagem predominante
C#
Estrelas
913
Forks
244
Métricas de merge de PRs
Nenhum PR com merge em 30d

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de icsharpcode/CodeConverter

Todas as issues de icsharpcode/CodeConverter

Issues semelhantes

Mais issues de C#

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.