VB -> C#: The LINQ-to-XML attribute axis accessor should be translated as a call to XElement.Attribute rather than XElement.Attributes.
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece reproduzindo a entrada VB.NET da issue e inspecione o ponto de entrada da tradução do eixo de atributos do LINQ-to-XML. Compare a chamada Attributes gerada com a chamada Attribute esperada e o cast para string. Está concluído quando tanto os atributos existentes quanto os ausentes produzirem as expressões C# esperadas e preservarem o comportamento em tempo de execução mostrado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
VB.Net input code
Dim x = <MyTag MyAttribute="a"/>
Dim existingAttributeValue As String = x.@MyAttribute
Dim missingAttributeValue As String = x.@MissingAttribute
Console.WriteLine(existingAttributeValue = "a")
Console.WriteLine(missingAttributeValue Is Nothing)
Erroneous output
(snipped to the relevant part)
string existingAttributeValue = x.Attributes("MyAttribute");
string missingAttributeValue = x.Attributes("MissingAttribute");
Expected output
string existingAttributeValue = (string)x.Attribute("MyAttribute");
string missingAttributeValue = (string)x.Attribute("MissingAttribute");
Details
- Product in use: icsharpcode.github.io/CodeConverter [NB: Here's a typo in the github issue template] / VS extension 9.0.4.0
- VB.NET's
x.@AttributeNamereturns a string, and so should the converted C# expression. Casting the result to string (using the explicit conversion defined in XAttribute) seems to be the idiomatic way in C# to get this value. In addition, that's also what the VB compiler does (indirectly, via a call to My.InternalXmlHelper). Multiple matching attributes (which would be an argument for calling Attributes) are not an issue, since attribute names must be unique within an XElement, and the documentation of XElement.Attributes(XName) explicitly states that the returned collection always contains exactly 0 or 1 elements.
- Linguagem predominante
- C#
- Estrelas
- 914
- Forks
- 242
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
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 ·
-
C# -> VB: most pattern matching fails to convertTalvez já em andamento @gherards99 assumiu há 39 dias. AbertaC# -> VB
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
icsharpcode/CodeConverter#1281 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#: Handleres of sub properties being untrackedTalvez já em andamento @Igor-Tomasi assumiu há 75 dias. AbertaVB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
icsharpcode/CodeConverter#1273 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted codeAbertaDifficult area VB -> C#
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 74/100
icsharpcode/CodeConverter#1272 ·
Todas as issues de icsharpcode/CodeConverter
Issues semelhantes
-
:watch: Not Triaged async-task-programming/subsvc dotnet-csharp/svc
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
python triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
microsoft/semantic-kernel#14590 ·
Mantenedores costumam responder em até 3 dias
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
Needs-Triage
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
PowerShell/PowerShell#28194 ·
Mantenedores costumam responder em até 1 dia
-
AI Projects Client customer-reported needs-team-attention question Service Attention
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
Azure/azure-sdk-for-net#63804 · 3 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia