Skip to content

VB -> C#: Handleres of sub properties being untracked #1273

Description

@Tomasi

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    VB -> C#Specific to VB -> C# conversion

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions