VB -> C#: Handleres of sub properties being untracked
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 62/100
Línea de trabajo
Reproduce el problema con la entrada VB.NET proporcionada usando la CLI codeconv y compara el C# generado con la salida esperada. Rastrea cómo el convertidor gestiona las cláusulas VB Handles para propiedades anidadas; se considera terminado cuando Editor1.Properties.Click queda suscrito en InitializeComponent junto con Editor1.Click.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
VB.Net input code
Imports System.ComponentModel
Public Class EditorProperties
Public Event Click As EventHandler ' Handles clause for this event is silently dropped
End Class
Public Class Editor
Private ReadOnly _properties As New EditorProperties()
' DesignerSerializationVisibility.Content is what makes this property usable in a Handles clause
<DesignerSerializationVisibility(DesignerSerializationVisibility.Content)>
Public ReadOnly Property Properties As EditorProperties
Get
Return _properties
End Get
End Property
Public Event Click As EventHandler
End Class
<Microsoft.VisualBasic.CompilerServices.DesignerGenerated>
Partial Public Class Form1
Private Sub InitializeComponent()
Me.Editor1 = New Editor()
End Sub
Friend WithEvents Editor1 As Editor
End Class
Partial Public Class Form1
Private Sub Editor1_Properties_Click(sender As Object, e As EventArgs) Handles Editor1.Properties.Click
End Sub
Private Sub Editor1_Click(sender As Object, e As EventArgs) Handles Editor1.Click
End Sub
End Class
Erroneous output
public partial class Form1
{
public Form1()
{
InitializeComponent();
}
private void InitializeComponent()
{
Editor1 = new Editor();
Editor1.Click += new EventHandler(Editor1_Click);
}
internal Editor Editor1;
}
public partial class Form1
{
private void Editor1_Properties_Click(object sender, EventArgs e) // This handler lost tracker
{
}
private void Editor1_Click(object sender, EventArgs e)
{
}
}
Expected output
public partial class Form1
{
public Form1()
{
InitializeComponent();
}
private void InitializeComponent()
{
Editor1 = new Editor();
Editor1.Click += new EventHandler(Editor1_Click);
Editor1.Properties.Click += new EventHandler(Editor1_Properties_Click); // Expected
}
internal Editor Editor1;
}
Details
- Product in use: codeconv CLI global tool (icsharpcode.codeconverter.codeconv)
- Version in use: 10.0.1.923
- Lenguaje dominante
- C#
- Estrellas
- 913
- Forks
- 244
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de icsharpcode/CodeConverter
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
icsharpcode/CodeConverter#1271 · 1 comentario ·
-
C# -> VB
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
icsharpcode/CodeConverter#1281 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
icsharpcode/CodeConverter#1275 ·
-
VB -> C#: "Group By Into" Linq queries supressing aggregations ("Into" part) in the converted code AbiertoDifficult area VB -> C#
Dificultad 3/5 1-2 días Aptitud para principiantes 74/100
icsharpcode/CodeConverter#1272 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
icsharpcode/CodeConverter#1270 ·
Todos los issues de icsharpcode/CodeConverter
Issues similares
-
type/automation type/tech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
t/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
ci-failure-cause test-failure
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
area:auth FE mvp P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
klasolsson81/jobbliggaren#1788 ·