VB -> C#: Base constructor calls with noncanonical casing produce invalid C#
Mantenedores costumam responder em até 4 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Comece localizando o reconhecimento, pelo conversor, dos inicializadores do construtor base de VB.NET; a issue diz que atualmente ele depende de uma comparação de texto que diferencia maiúsculas de minúsculas. Adicione testes de regressão para MyBase.new(value) com maiúsculas e minúsculas misturadas e para a forma sem parâmetros MyBase.new. O trabalho estará concluído quando ambos produzirem um inicializador de construtor C# em vez de uma chamada a base.ctor.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
VB.Net input code
Public Class DataSet1
Inherits Global.System.Data.DataSet
Public Sub New(value As String)
MyBase.new(value)
End Sub
End Class
Erroneous output
The base constructor call is emitted as a method call inside the constructor body:
public partial class DataSet1 : System.Data.DataSet
{
public DataSet1(string value)
{
base.ctor(value);
}
}
This produces compiler error CS0117 because DataSet does not contain a definition for ctor.
Expected output
public partial class DataSet1 : System.Data.DataSet
{
public DataSet1(string value) : base(value)
{
}
}
Details
- Product: Visual Studio extension, built locally from master.
- Version: 10.0.1 (local development build).
- Previous working version: No.
VB.NET is case-insensitive, so MyBase.New(value), MyBase.new(value), and MyBase.nEw(value) are equivalent. However, the converter uses a case-sensitive text comparison when recognizing the constructor initializer.
The same issue occurs with parameterless calls written without parentheses, such as MyBase.new.
A workaround is to use the canonical casing, MyBase.New.
- Linguagem predominante
- C#
- Estrelas
- 917
- Forks
- 243
- Merge médio
- 4d 42min
- PRs com merge (30d)
- 11
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de icsharpcode/CodeConverter
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
icsharpcode/CodeConverter#1271 · 1 comentário ·
Mantenedores costumam responder em até 4 dias
-
VB -> C#: Generic extension method inference widens element types when using a base-type comparerAbertaVB -> C#
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
icsharpcode/CodeConverter#1302 · 1 reação ·
Mantenedores costumam responder em até 4 dias
-
VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
icsharpcode/CodeConverter#1300 ·
Mantenedores costumam responder em até 4 dias
-
VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
icsharpcode/CodeConverter#1299 ·
Mantenedores costumam responder em até 4 dias
-
VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
icsharpcode/CodeConverter#1298 ·
Mantenedores costumam responder em até 4 dias
Todas as issues de icsharpcode/CodeConverter
Issues semelhantes
-
needs-triage
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 76/100
Azure/azure-sdk-for-net#64658 · 1 comentário · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
dotnet/aspnetcore#70370 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
NethermindEth/nethermind#15684 ·
Mantenedores costumam responder em até 1 dia
-
area/ai-assistant squad/flyt
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
Altinn/altinn-studio#21798 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
SubtitleEdit/subtitleedit#16699 ·
Mantenedores costumam responder em até 1 dia