Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#1,055 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
45/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
csharp
領域
tooling

調査の方向性

提供された VB.Net 入力を再現用として使用し、誤った C# 出力と期待される C# 出力を比較します。その際、生成された補助変数と WithEvents のプロパティ型に焦点を当てます。クラスと namespace の名前が大文字と小文字だけ異なる場合に、コンバーターがクラスと namespace をどのように解決するかを追跡します。例が期待される型 NS1.Ns1 を生成し、生成されたプロパティアクセサーを壊さなければ完了です。

索引モデルが issue の本文から書いたものです。

説明

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.
主要言語
C#
スター
913
フォーク
244
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

icsharpcode/CodeConverter のほかの issue

icsharpcode/CodeConverter の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。